Meituan-Dianping / Leaf

Distributed ID Generate Service
Apache License 2.0
6.42k stars 1.84k forks source link

最小步长设置问题 #200

Open leechliao opened 2 years ago

leechliao commented 2 years ago

buffer.setMinStep(leafAlloc.getStep());

我理解是否应该是只需在buffer的初始化设置一次足以,不用在后续每次重复设置

wangjibo0102 commented 2 years ago

这个是基于时间动态计算的,如果15分钟内就需要预加载下一段segment,那么step就是扩大2倍,如果是30分钟内则step保持不变,如果是30分钟以上则当前step除以2并和数据库中的step做比较,取最小值。这个操作原则上是防止在并发获取id时,由于数据库step配置太小,导致频繁访问数据库 image