V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  IurNusRay  ›  全部回复第 8 页 / 共 8 页
回复总数  146
1  2  3  4  5  6  7  8  
2020-12-17 16:24:12 +08:00
回复了 IurNusRay 创建的主题 Python 请教一下 k8s 服务暴露的问题
@zhangjx1991 好吧,谢谢了
2020-12-17 09:12:37 +08:00
回复了 IurNusRay 创建的主题 Python 请教一下 k8s 服务暴露的问题
@zhangjx1991 那如果我有一台云主机,不想用 LB,只是需要把某个 k8s service 暴露在它的公网 ip 上呢,除了 nodePort 还有什么方法吗?实际生产中都是用云厂商的 LB 吗?
2020-12-16 09:05:25 +08:00
回复了 IurNusRay 创建的主题 Python 请教一下 k8s 服务暴露的问题
@zhangjx1991 没太明白这篇文章的意思,是指在内网中如果要创建 type=locaBalancer 的服务,就需要使用 MetaLB 这个额外插件吗
2020-11-13 09:25:48 +08:00
回复了 IurNusRay 创建的主题 Python 关于 Django 的乐观锁问题
@nonduality 刚刚有看了一下,原来是我代码漏掉了一部分,这个"乐观锁"的原理是要开启一个循环,在成功+1 的时候退出循环,否则继续, 比如 row = BookInfo.objects.filter(id=book.id, read=origin_read).update(read=origin_read + 1),当 row 为 0 时继续循环。

但是经过测试,仍然达不到 F 表达式的效果,1000 次请求只能加到 990 左右,所以,还是用 F 表达式吧
2020-11-12 17:16:08 +08:00
回复了 IurNusRay 创建的主题 Python 关于 Django 的乐观锁问题
之前是用 runserver 运行的,可能并发支持不行,刚刚换成 uwsgi 运行,发现结果如下:
1. book.read += 1 这种方式无法解决资源竞争,实测 1000 次请求,只能加到 500 左右
2. book.read = F("read") + 1 这种方式可以解决,实测 1000 次并发请求,分 5 批,最后 read 值加到了 5000
3. book = BookInfo.objects.get(id=1)
origin_read = book.read
BookInfo.objects.filter(id=book.id, read=origin_read).update(read=origin_read + 1)
这种所谓“乐观锁“的方式,实测完全无效,1000 次请求,read 值只能加到 500 左右

综上,使用 F 表达式是最有效的方式,不是很明白这种乐观锁的作用是什么,既没有解决资源竞争,实际运行也没有任何报错
2020-11-12 16:14:17 +08:00
回复了 IurNusRay 创建的主题 Python 关于 Django 的乐观锁问题
@nonduality F 表达式我也试过,也不行
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   971 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 20:38 · PVG 04:38 · LAX 13:38 · JFK 16:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.