政务网站建设经验做法,天天向上做图网站,wordpress添加文章总数标签总数,临沂网站建设微信ShardingSphere
用处#xff1a;sharding是分片的意思#xff0c;sphere是球#xff08;生态的意思#xff09;。用来做分库分表的生态的。一个订单表太大#xff0c;查询会很慢#xff0c;要分表#xff0c;分为3个表#xff0c;这样查询会快一点#xff0c;所以有了…ShardingSphere
用处sharding是分片的意思sphere是球生态的意思。用来做分库分表的生态的。一个订单表太大查询会很慢要分表分为3个表这样查询会快一点所以有了分库分表。
原理对sql语句进行拦截然后根据分库分表算法路由到具体的表如order表的sql语句拦截根据orderId取模3位路由到order1、order2、oder3表上。
还支持分布式、事务等。
shardingSphere路由的时候会给数据生成全局唯一cid这里涉及分布式id生成器ShardingSphere一般用的是雪花算法。 雪花算法
组成时间戳机器进程码序列号
雷区
1、每台电脑的时间戳不是完全相同的有的快有的慢。解决方案
时间回拨记录上次的时间如果这次的时间小于上次的时间有问题需要处理处理方式很多
比如停止下线程再进行时间分配这样时间就补上来了。又比如用ntpd来同步下时间。
直接从第三方来获取时间戳保证时间戳从同一个地方获取
2、序列号不递增当时间戳一样的时候序列号才递增时间不同序列号又从0开始这导致序列号都比较小分库分表都只能分到少数的表。解决方案就是不要时间戳一样才递增 分布式id生成器
现有的分布式id生成器有美团的Leaf、还有CosID。ShardingSphere里集成了CosID。