![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式系统
文章平均质量分 54
Walter Sun
我小时候的理想是做一名科学家,用梦想改变世界。资深匠心码农 阿里扫地僧 Java天花板 IT极客 篮球梦 绘画乐器
展开
-
3分钟带你了解下分布式事务TCC与SAGA
SAGA是一种基于消息的分布式事务方案,通过使用长事务和补偿事务来保证分布式环境下的事务一致性。在SAGA中,每个参与者都是一个服务,通过发送和接收消息来协调事务的执行。在实现TCC时,可以使用分布式事务管理器来协调各个参与者的操作,例如阿里巴巴的Seata和美团的TCC-transaction。SAGA(Saga)是一种分布式事务方案,它通过使用长事务(Long Transaction)和补偿事务(Compensating Transaction)来保证分布式环境下事务的一致性。原创 2023-07-31 13:55:00 · 285 阅读 · 0 评论 -
MongoDB的分布式ID
每个ObjectID值是一个12字节的字符串,其中前四个字节表示时间戳,后三个字节表示机器编号,后两个字节表示进程编号,最后一个字节表示随机数。由于MongoDB ObjectID的生成算法使用了机器编号和进程编号,因此保证了在分布式系统中生成的ID的唯一性。MongoDB ObjectID的生成算法使用了机器编号和进程编号,因此在分布式系统中生成的ID的唯一性是可以保证的。在实际应用中,MongoDB ObjectID通常用作文档ID,方便在数据库中进行查询和管理。原创 2023-07-16 00:08:45 · 3004 阅读 · 0 评论 -
百度开发的分布式ID生成算法——UID
UID是百度开发的一种分布式ID生成算法,可以生成唯一的、有序的、可读性强的64位ID。UID算法的设计目标是支持高吞吐量和低延迟的分布式系统,它采用了时间戳、数据中心ID、机器ID和随机数等信息生成唯一ID,并支持多种ID生成方式。它可以生成唯一的、有序的、可读性强的ID,方便在日志和数据库中进行查询和分析。同时,UID算法的实现也非常简单,可以快速集成到现有的分布式系统中。需要注意的是,UID算法精确到秒而非毫秒级别,因此在高并发场景下可能会出现重复ID的情况。原创 2023-07-16 00:09:07 · 1197 阅读 · 0 评论 -
美团的分布式ID生成算法——Leaf算法
美团的分布式ID生成算法是Leaf算法。Leaf算法是美团点评开发的一种分布式ID生成算法,它可以生成唯一的、有序的、可读性强的64位ID。Leaf算法的设计目标是支持高吞吐量和低延迟的分布式系统,它采用了时间戳、数据中心ID和机器ID等信息生成唯一ID,并支持多种ID生成方式。它可以生成唯一的、有序的、可读性强的ID,方便在日志和数据库中进行查询和分析。与Snowflake算法相比,Leaf算法更加灵活,支持多种ID生成方式,可以根据实际需求进行配置和定制。原创 2023-07-16 00:08:25 · 1691 阅读 · 0 评论 -
rocketmq集群
理论先行首先在这两台机器上分别启动NameServer(nohup sh bin/mqnamesrv &),这样我们就得到了一个无单点的NameServer服务,服务地址是“192.168.100. 131:9876; 192.168.100.132:9876”。然后启动Broker,每台机器上都要分别启动一个Master角色的Broker和一个Slave角色的Broker,并互为主备。...原创 2020-03-17 17:53:24 · 430 阅读 · 0 评论 -
rocketmq console本地启动,简单介绍
github下载地址:https://github.com/apache/rocketmq-externals.git运行时命令及介绍java -jar rocketmq-console-ng-1.0.1.jar --server.port=12581 --rocketmq.config.namesrvAddr=172.23.20.6:9876–server.port这个是你访问web...原创 2020-03-17 12:07:31 · 1892 阅读 · 0 评论 -
幂等的设计
to我的网站:https://www.waltersun.cn幂等设计什么是幂等幂等性是系统服务对外一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。什么情况下需要幂等业务出现异常(例如:网络异常或者服务崩溃重启)时,前端有可能重复发起超时的或者处理失败的请求。例如:用户下达委托时,由于网络问题导致超时,此时客户端很可能会重试下达,且重试下达后,服务端不会被多次执行,避免出现做超的情况。用户下达委托时.原创 2021-10-12 13:44:28 · 192 阅读 · 0 评论 -
分布式锁——基于ZooKeeper和基于Redis
参见本人网站具体文章zookeeper——分布式锁原理Redis 分布式锁基于zk和基于redis实现大致思路一致,在高可用场景下的支持方案有各自特性原创 2021-08-11 10:53:53 · 172 阅读 · 0 评论 -
分布式ID生成算法:雪花算法
Leaf算法是美团点评公司提出的一种分布式ID生成算法,它将ID号分成三部分,分别用于表示时间戳、数据中心ID和机器ID。雪花算法(Snowflake)是一种分布式ID生成算法,可以生成唯一的、有序的、不重复的ID号,广泛应用于分布式系统中。Snowflake-IdWorker算法是对雪花算法的一种改进,它通过对时间戳进行差值计算,避免了时间回拨问题,并且将数据中心ID和机器ID自动分配,减少了手动配置的工作量。雪花算法是一种基于时间戳、数据中心ID、机器ID和序列号等信息生成唯一ID的算法。原创 2023-07-12 16:55:34 · 1989 阅读 · 0 评论 -
ZooKeeper ZAB
假如一个群首l管理并广播事务,在此时,仲裁数量的服务器Q判断群首l已经退出,并开始选举了一个新的群首l’,我们假设在仲裁机构Q放弃群首l时有一个事务T正在广播,而且仲裁机构Q的一个严格的子集记录了这个事务T,在群首l’被选举完成后,在仲裁机构Q之外服务器也记录了这个事务T,为事务T形成一个仲裁数量,在这种情况下,事务T在群首l’被选举后会进行提交。如果服务器s成为群首并且持有的时间戳为4,而当前已经建立的群首的时间戳为6,集群中的追随者会追随时间戳为6的群首s,处理群首在时间戳6之后的消息。原创 2023-07-15 22:24:44 · 1127 阅读 · 0 评论 -
主流注册中心对比
文章首发地址原创 2023-07-15 22:45:10 · 50 阅读 · 0 评论 -
Raft算法
RAFT是一种一致性算法,用于在分布式系统中保证数据副本的一致性。RAFT算法在2014年由Diego Ongaro和John Ousterhout提出,在分布式系统领域得到了广泛应用。RAFT算法简单易懂,易于实现和调试,与其他一致性算法相比有很大的优势。其主要思想是将一致性问题分解为几个较小的问题,如领导选举、日志复制和安全性等。RAFT算法通过使用领导者来协调多个节点之间的操作,保证数据的一致性。RAFT算法的核心是节点之间的通信和状态机的复制。原创 2023-07-14 23:39:48 · 184 阅读 · 0 评论 -
分布式系统——分布式事务(平面分布式事务和嵌套分布式事务)
平面分布式事务客户端给多个服务器发送请求。一个平面客户事务完成一个请求后,才会发起下一个请求。因此每个事务顺序访问服务器上的对象。当服务器使用锁机制时,事务一次只能等待一个对象。嵌套分布式事务顶层事务可以创建子事务,子事务可以进一步地以任意深度嵌套子事务。在嵌套事务中,同一层次的子事务可以并发执行,又由于子事务访问不同服务器上的对象,因此他们可以并行执行。分布式事务的协调者TID:事务...原创 2019-12-28 22:28:32 · 761 阅读 · 0 评论