详解MyCat 全局序列号实现方法,值得保藏
留意:MYCAT_SEQUENCE 表和以上的 3 个 function,必要放在统一个节点上。function 请直接在详细节点的数据库上执行,假如执行的时辰报:
必要对数据库做如下配置:
修改完后,即可在 mysql 数据库中执行上面的函数。 行使示例:
3. 当地时刻戳方法 ID= 64 位二进制 (42(毫秒)+5(呆板 ID)+5(营业编码)+12(一再累加) 换算成十进制为 18 位数的 long 范例,每毫秒可以并发 12 位二进制的累加。 行使方法: a. 设置 server.xml
b. 在 mycat 下设置:sequence_time_conf.properties
多个个 mycat 节点下每个 mycat 设置的 WORKID,DATAACENTERID 差异,构成独一标识,总共支持32*32=1024 种组合。 4. 漫衍式 ZK ID 天生器
Zk 的毗连信息同一在 myid.properties 的 zkURL 属性中设置。 基于 ZK 与当地设置的漫衍式 ID 天生器(可以通过 ZK 获取集群(机房)独一 InstanceID,也可以通过设置文件设置 InstanceID)
设置文件:sequence_distributed_conf.properties,只要设置内里:INSTANCEID=ZK 就是从 ZK 上获取InstanceID。 5. Zk 递增方法
Zk 的毗连信息同一在 myid.properties 的 zkURL 属性中设置,4 是 zookeeper 实现递增序列号 1) 设置文件:sequence_conf.properties, 只要设置好 ZK 地点和表名的如部属性
2) 文件设置的 MAXID 以及 MINID 抉择每次取得区间,这个对付每个线程可能历程都有用 3)文件中的这三个属性设置只对第一个历程的第一个线程有用,其他线程和历程会动态读取 ZK 6. 自增添主键 (1) MyCAT 自增添主键和返回天生主键 ID 的实现 声名:
MyCAT今朝提供了自增添主键成果,可是假如对应的 mysql 节点上数据表,没有界说 auto_increment,那么在 MyCAT 层挪用 last_insert_id()也是不会返回功效的。 正确设置方法如下:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |