2.2.4 分布式offset-step方式
分布式offset-step方式利用zookeeper的分布式锁功能进行实现。
线程在获取序列值时执行如下步骤:
根据序列名(`schemaX`.`tableX`)获取相应的分布式锁。
从zookeeper服务器上获取未用序列值的最小值min。
根据配置(参见1.7.4 分布式offset-step序列),计算能获取的最大未用序列值max。
用max+1更新zookeeper服务器上的未用序列值的最小值min。
释放相应的分布式锁。
分布式offset-step方式利用zookeeper的分布式锁功能进行实现。
线程在获取序列值时执行如下步骤:
根据序列名(`schemaX`.`tableX`)获取相应的分布式锁。
从zookeeper服务器上获取未用序列值的最小值min。
根据配置(参见1.7.4 分布式offset-step序列),计算能获取的最大未用序列值max。
用max+1更新zookeeper服务器上的未用序列值的最小值min。
释放相应的分布式锁。