分布式 | dble 中分布式时间戳方式的全局序列
作者:吴金玲 爱可生 dble 项目团队成员,主要负责 dble 相关的日常测试工作,擅长对 dble 中出现的问题进行排查。热爱测试工作,余生欲将测试工作进行到底。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 dble 中目前有 4 种方式的全局序列,分别是 MySQL offset-step 方式、时间戳方式、分布式时间戳方式、分布式 offset-step 方式全局序列。本文将会从测试的角度简单讲述一下分布式时间戳方式的全局序列的环境搭建及使用。 一、分布式时间戳方式的全局序列简介 此种方式提供一个基于 Zookeeper(以下简称 ZK)的分布式 ID 生成器,可以生成全局唯一的 63 位(首位恒为 0,保证全局序列为正数)二进制 ID。 正数的 63 位模式如下: 其中: a - e 为从高位到低位; a 为线程 id 的低 9 位值; b 为 5 位实例 id 值; 此值为配置文件 sequence_distributed_conf.properties 中的 INSTANCEID 值或者从 zookeeper 服务器获取的值; c 为 4 位数据中心 id 值; 即配置文件 sequence_distributed_conf.properties 中的 CLUSTERID 的值; d 为 6 位自增长值; e