分库分表相关

单号构成:

TIMESTAMP + ZOOKEEPER NODE NUMBER + SEQUENCE LOCAL + HASH(goupID/shopID)

组成部分说明

1.timestamp 32位unix时间戳,包含年月信息,用于分表

2.zookeeper node number: 通过zookeeper获取唯一node number作为服务器ID,长度为8位(128)用于解决机器间相同时间戳的ID冲突。

3.sequence local:服务器自增序列ID,长度12位(2056)用于解决同一服务器相同时间戳的ID冲突

4.goupID/shopID 的hash值,取4096模,容量为4096,即最大分成4096个库,12位

单号长度及性能分析

总位数:32(timestamp) +8(zookeeper node数) + 12(sequenceNo) + 12(hash) = 64

最多部署256台服务器

单台服务器每秒处理新增订单限额为4098(sequence local范围决定)

总容量每秒新增订单 256*4096 = 1048576(百万数量级)

最多支持4个机房(0-3)

路由策略

DBIndex = shopID%64
tableIndex = shopID/64%64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值