首页 > 其他分享 >MIT 6.824 raft01

MIT 6.824 raft01

时间:2023-12-25 09:34:44浏览次数:24  
标签:raft01 6.824 请求 系统 follower master 一致性 MIT 客户端

Raft - 分布式共识算法

为什么要这么设计?

横向分布式,同一个模块内部为了提高系统的吞吐量而采用的多节点。

优点: 1.数据备份, 2.负载均衡  

 

CAP理论

一致性consistency:数据强一致,读写一致。

可用性availabilty:响应快。

分区容错性partition tolerance: 网络环境不可靠的背景下,系统仍然正常运作。

 

C有问题:

1. 即时一致性: master还没成功同步给follower, 客户端读请求给follower

2. 顺序一致性:客户端向master发送两笔请求,异步给follower,第一笔lag,follower先2后1,最终follower记录里错误的数据

 

A有问题:

数据同步任务不是异步执行,而是写请求串行化执行

1.如果一follower宕机,master不能集齐所有follower的响应,无法给客户端ack,整个系统不可用

2.如果一个follower网络环境问题,lagging,整个系统系统效率拖垮

 

Raft:

1. 保证A,半数以上节点存活时,系统稳定可用。请求耗时取决于多数的下限,并非所有节点下限

2. 保证C,满足数据最终一致性,改进版可以保证数据即时一致性。

 

reference: B站up主 小徐先生1212  课程链接 https://www.bilibili.com/video/BV1Kz4y1H7gw?p=1

 

标签:raft01,6.824,请求,系统,follower,master,一致性,MIT,客户端
From: https://www.cnblogs.com/funblogs12152023/p/17925275.html

相关文章

  • 无涯教程-PostgreSQL - Limit语句
    PostgreSQLLIMIT子句用于限制SELECT语句返回的数量。LimitClause-语法带LIMIT子句的SELECT语句的基本语法如下-SELECTcolumn1,column2,columnNFROMtable_nameLIMIT[noofrows]以下是LIMIT子句与OFFSET子句一起使用时的语法-SELECTcolumn1,column2,columnN......
  • 如何在 Git 书写良好的 Commit Messages
    如何在Git书写良好的CommitMessagesWhy(为什么编写)|How(如何编写)WhyMessagesAdiffwilltellyouwhatchanged,butonlythecommitmessagecanproperlytellyouwhy良好的Messages可以告诉人们变更的原因,更好高效地理解几个月前甚至几年前发生的事情。......
  • nginx调优-调大rlimit_nofile
    前言对于Linux用户或用户组打开的进程,Linux系统会对进程可占用的资源进行限制。该限制针对特定Linux用户或用户组,限制范围是该Linux用户或用户组打开的所有进程。遇到的异常nginx转发的流量比较大。因此在nginx.conf中,存在如下配置:worker_rlimit_nofile131072;event{......
  • ASP.NET Core-限流(Rate Limiting)
    一、应用场景    微服务架构中,限流功能一般由网关提供。而对于很多非微服务化的系统,可能并没有网关[无论是因为成本还是复杂度],在这种场景下,为了实现限流,.NET7中提供了限流中间件RateLiniting。二、实现    首先,SDK版本>=7。    然后添加代码注册。......
  • 陶建辉应邀参与 TOP100Summit,“工程师文化”演讲引发热议
    在AGI时代,数字化成为组织形态的重要特征,它可以帮助组织实现上下一致的目标和信息的高频传递,从而实现战略目标的协同和敏捷进化。在这样的大背景下,开发者们面临的实际挑战是如何避免技术和业务之间的割裂。12月14-17日,由msup和微上信息技术研究院联合主办的第十二届“TOP100......
  • An Introduction to Bioinformatics Algorithms, Neil C. Jones and Pavel Pevzner, t
    AnIntroductiontoBioinformaticsAlgorithms,NeilC.JonesandPavelPevzner,theMITPress,2004. Thisintroductorytextoffersaclearexpositionofthealgorithmicprinciplesdrivingadvancesinbioinformatics.Accessibletostudentsinbothbiology......
  • SSH 登陆 limits 配置不生效解决办法
    参考文档SSH登陆limits配置不生效解决办法-自由早晚乱余生-博客园(cnblogs.com)环境信息公司测试环境(涉及敏感信息补贴出具体IP)现象描述配置/etc/security/limits.conf后退出shell并重新登录,执行ulimit-n但显示时仍然是1024,配置并没有生效。配置文件如下/etc/sec......
  • 无涯教程-Java - split(String regex, int limit)函数
    将字符串拆分成一个数组。String[]split-语法publicString[]split(Stringregex,intlimit)这是参数的详细信息-regex   -定界的正则表达式。limit   -输出阈值,这意味着要返回多少个字符串。String[]split-返回值它返回通过将字符串拆分为字符串......
  • 02-git操作命令--git commit
    gitcommit建议分为2步来完成,尽量不要使用gitcommit.来提交代码,增加容错gitcommit当我们修改了本地仓库某写文件后,git会自动生成这些修改后未跟踪的文件:从上面的图片可以看到,我修改了当前目录下的saas/saas_method.go文件并未提交暂存,使用下面的命令提交修改至暂存区:git......
  • C-Kermit 连接 Microchip WBZ451 Curiosity Board实例
    TheKermitProject|NowhostedbyPanix.comNewYorkCityUSA•[email protected]…since1981~/.kermrc文件:;ConnecttoWBZ451USB-USARTVirtualCOMdefconnWBZ451{SETPORT\%1;SpecifydevicenameSE......