V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ZSeptember  ›  全部回复第 12 页 / 共 51 页
回复总数  1007
1 ... 8  9  10  11  12  13  14  15  16  17 ... 51  
@mekingname 看我 23 楼。

随机不是目的。
而且随机入库以后,我多个服务实例读出来怎么错开
@Habyss
@mxT52CRuqR6o5

我强调随机是是因为当前的保证不重复分配的方案是乐观锁,随机能避免冲突,提高性能。

如果分配方案不使用乐观锁,可以不需要
但是整体方案需要考虑到正确性以及性能
@mxT52CRuqR6o5 看分配步骤,随机性是为了避免乐观锁冲突,影响分配性能,因为要保证不能重复分配同一个 coupon 。

你的那个方案和我 10 楼回复的一样,能 work ,但是性能应该应该比较差。其实我测试过,性能应该能满足我们系统现在的需求,但是天花板比较低。
@Habyss
1. 第一种考虑过,读取 100 个,然后全部删除掉,和预分配状态本质差不多;就是考虑到这时候挂掉了就浪费一批 coupons 。
2. 存到数据库可以给一个随机编号,但是不知道怎么能读出来是随机的?
@murmur 实时性其实要求也不是特别高,但是还是需要提高分配性能而已。

现在其实有一个最基本的方案:

1. 读 100 个 coupons
2. 随机选择一个

冲突概率还是挺低的,但是每一次都要读数据库,有点浪费
重点其实看怎么能提高随机读取 coupon 的性能以及随机性
@murmur 数量其实不是重点,重点是一个 coupon 只能给一个人发,不能重复发。
@agzou 分布式锁更重了,分布式锁的 timeout 很难解决。用数据库乐观锁简单点,但是大佬还是觉得复杂了,不希望引入 redis 。
@sagaxu 可以具体一点吗。生成的时候随机,其实生成以后已经不随机了。
我们用的 spanner ,不支持 random 函数。。不然每一批可以 random 选择 100 个,冲突概率也不高了。
2022-03-04 14:24:22 +08:00
回复了 iGuChin 创建的主题 程序员 大家推荐下 CRM,特别是微商们用的
店小秘?
2022-02-21 21:04:07 +08:00
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
union 不支持 struct ,只支持基本类型
2022-02-14 17:27:08 +08:00
回复了 MrdotX 创建的主题 程序员 http body 是否可以整体加密
看你想解决什么问题
1. 防止中间人攻击,数据安全:直接 https
2. 反抓包:客户端加密可行
2022-02-01 21:43:33 +08:00
回复了 bear2000 创建的主题 程序员 单点登录(SSO)
SSO 其实很简单,我来尝试解释下,不讲具体协议,就讲一下大致原理和认证过程

先定义下参与方,前后端都接入了 CAS 认证过程:

AppA:*.appa.com
AppB:*.appb.com
CAS:*.cas.com 单点登录用户中心



一个用户进入 AppA ,发现没有登陆,跳转到 CAS 登陆,CAS 登陆以后,在 CAS 域名下保存 cookie ,然后将 cookie 放在 URL 上重定向到 AppA ,AppA 识别到 cookie ,将 cookie 保存到 AppA 域名下,下次就不需要跳转了,直接就是登陆过了。

同一个用户进入 AppB ,发现没有登陆,跳转到 CAS ,CAS 已经有 cookie 了,直接带着 cookie 重定向到 AppB 就可以了。
2022-01-30 15:36:03 +08:00
回复了 sonders 创建的主题 生活 突然要面对人生大事的选择了
有好感可以继续,异地这个问题提前解决,先达成一致再进下一步。
2022-01-25 20:05:23 +08:00
回复了 junkk 创建的主题 问与答 年终定了,绩效大概是垫底
一直准备着,有更好的机会就走呗

绩效这东西,就算有明确的规章制度,但是大部分还是由上级决定的
如果和上级合不来,早点走
两个都有锅,我觉得 55 开吧

不过,领导这么说话的公司呆着干嘛

然后,要看几次线上事故的原因是不是类似,反复犯同样的错,自己也需要反思下。
2022-01-25 16:42:01 +08:00
回复了 714105382 创建的主题 Kotlin Kotlin 的协程是真协程吗?被 b 站博主搞蒙了
go 的协程也会阻塞系统线程啊

只是 Go 的所有 IO 操作被封装过而已,不会直接调用系统 io

和 Kotlin 的效果是一样的,只是 kotlin 的想要不阻塞系统 thread ,需要调用特定 API 而已
1 ... 8  9  10  11  12  13  14  15  16  17 ... 51  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1336 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 17:55 · PVG 01:55 · LAX 10:55 · JFK 13:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.