当前位置: 首页 > news >正文

ShardingSphere、雪花算法、分布式id生成器CosID概述

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。

 

 

http://www.lryc.cn/news/427880.html

相关文章:

  • hive学习(四)
  • UniAD_面向规划的自动驾驶
  • 《现代情报》
  • 2024年最新上榜的文件加密管理软件
  • Matplotlib库学习之scatter(模块)
  • 脑网络相似性:方法与应用
  • 【JavaEE】深入MyBatis:动态SQL操作与实战项目实现指南
  • Linux 实操-权限管理:深入了解rwx的作用
  • Linux 系统编程 --- day3
  • centos从home分区分配空间到根分区
  • 设计模式实战:即时通讯应用的设计与实现
  • 白骑士的C#教学实战项目篇 4.3 Web开发
  • 【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
  • html转vue项目
  • .NET系列 定时器
  • 【Golang】火焰图空白部分是什么?
  • Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader]
  • Messari 摘要报告:Covalent Network(CXT)2024 Q2 品牌重塑、AI模块化数据、亚太地区扩展、代币回购计划和网络增长
  • Open3D 计算点云的面状指数
  • python下麦克风设备选择和录音
  • 云和集群有什么区别?
  • 无人机视角下的EasyCVR视频汇聚管理:构建全方位、智能化的AI视频监控网络
  • 数字影像技术是如何改变我们看待世界的方式呢?
  • Chainlit实现启动页面选择不同的LLM启动器等设置界面
  • SQL - 增、改、删
  • 怎么屏蔽电脑监控软件?企业管理者的智慧选择——精准定位,合理屏蔽,让监控软件成为助力而非障碍!
  • Linux·权限与工具-make
  • C++的序列容器——数组
  • TCC 和 XA 协议之间的区别?
  • 萌啦数据插件使用情况分析,萌啦数据插件下载