
分布式
文章平均质量分 91
追风夏
这个作者很懒,什么都没留下…
展开
-
RocketMQ 中DLedger框架 基于Raft算法实现选主及日志同步
broker 在集群模式下,需要实现两个功能点:1、多节点broker之间commitLog 日志文件内容同步;无论是 写主读从,一写多读,多主模式等。 同一个group内 master-slave 集群内,数据需要同步2、能够自动容灾,即主节点挂了之后能够自动产生新的主节点,不影响对外提供服务数据同步:传统 Mater/Slave 模式就可以支持自动选主及切换: Zookeeper组件, 以及基于Raft等 分布式一致性算法实现。基于zookeeper组件,需要额外部署zk集群原创 2022-01-06 14:45:14 · 2374 阅读 · 0 评论 -
分布式环境下唯一ID生成
背景在分布式系统中,部分业务场景以及技术场景下,往往需要对大量的数据或者消息或者请求做唯一标识。如订单系统订单号,处理请求时防止重复请求幂等过滤标识,业务分表之后,依旧通过唯一的业务id标识等等满足业务场景,ID有何要求:1、全局唯一性,唯一ID需满足唯一不重复2、趋势递增:如将生成的ID用作数据库主键时,由于MySql的innodb存储引擎使用聚集索引,所以当数据表主键为趋势递增数据时,插入数据时,调整较小。提高写入性能。3、单调递增:保证下一个ID一定大于上一个ID,例如事务版本号、原创 2020-10-27 17:51:16 · 286 阅读 · 0 评论 -
分布式锁的几种实现-附代码
锁的作用锁的正确使用,可以保证多线程(本地多线程或者多机多节点多线程)情况下程序的效率及正确性。效率:多线程不会做重复的工作。正确性:多线程对同一数据的操作不会出现预期之外的结果。保证共享资源数据的一致性,可以是同一时间控制一个或者几个线程才能访问或者修改共享资源。本地程序中,锁的实现可以是JVM上一块资源即线程间共享的资源,多线程来竞争。如AQS中state;JUC 包下的同...原创 2019-03-07 19:59:07 · 709 阅读 · 0 评论