Releases: Ahoo-Wang/CosId
Releases · Ahoo-Wang/CosId
1.3.2
- add
MergedIdSegmentto reduce the number of IdSegment creations. - add
PrefetchWorkerExecutorServiceto improve thread utilization ofPrefetchWorker. - optimize performance, use
CacheClockto replaceSystem#currentTimeMillis(too slow!) implementation . - enhance: Numerical overflow check
- optimize the calculation of safety distance
- 增强:新增
MergedIdSegment合并IdSegment避免创建过多IdSegment对象。 - 增强:新增 亲和性预取线程池
PrefetchWorkerExecutorService(PrefetchWorker1:nPrefetchJob),提升PrefetchWorker利用率,防止因申明过多SegmentChainId导致的创建过多线程的问题(PrefetchWorker1:1PrefetchJob)。 - 增强:使用
CacheClock替换System.currentTimeMillis提升获取当前时钟性能。System.currentTimeMillis: 太慢了,TPS只有7191W+/s,低于SegmentChainId能达到的峰值12743W+/s,当开启IdSegment的ttl功能时会影响SegmentChainId峰值性能。CacheClock: TPS41765W+/s,精度1秒,应用需要容忍潜在的1秒精度延迟可能性,在TTL检查的场景中完全适用。
- 增强:数值计算溢出检查。
- 增强:优化安全间隙(
safeGap)计算逻辑
1.3.1
1.2.8
1.2.5
- PrefetchWorker supports dynamic expansion and contraction based on
hungerThreshold - add
cosid-jdbcfor support JdbcIdSegmentDistributor(database segment storage) - change SegmentId default SegmentIdProperties.Mode to CHAIN (recommend)
- change example -> rest-api
1.2.1
1.1.8
- add IdSegmentDistributor.Mock for test
- optimize unit-test
- optimize jmh-test
- add support to enable SegmentChainId through configuration (spring-boot-starter-cosid)
- add RedisIdBenchmark VS RedisChainIdBenchmark TPS to README
- add LifecycleSegmentChainId for shutdown prefetchWorker
- Update performance report
1.1.4
- abstract
IdSegmentinterface - enhance
DefaultSegmentIdto prevent back-end storageIdSegmentloss/rollback - enhance
IdSegmentDistributorto support batch acquisition ofIdSegment. - optimize the performance of
SegmentChainId(lock-free), the ultimate performance after optimization is close toAtomicLong
