Menu

braft和brpc之间是什么关系?

西安凡高网络西安凡高网络 录入时间 2018-04-25 阅读次数 0
一键分享

     
    首先明确一下两者的目标:braft是解决复制状态机问题,brpc是解决模块间RPC通信问题。braft中Raft协议的互通直接使用brpc实现,runtime使用了bthread,因此braft编译需要依赖brpc,从这点来看braft和brpc有一定的绑定关系。
 
       但是从另一个角度来看,braft中核心的是协议状态机比如log、snapshot、configuration这些东西的抽象和实现,协议RPC只是其中一环,做一层transport抽象也可以比较容易的替换为其他的coroutine based protobuf RPC框架,对于非coroutinebased protobuf RPC来讲,braft只能用类似logcabin中pthread同步RPC,这样就丧失了多复制组支持的特性,RPC的回调改造成本就比较高了。

     如何看待raft的前景?
 
    当下,Raft已经成为分布式一致性算法的主流,业界的TiDB、CockroachDB、etcd、consul等一系列流行的组件和服务都在使用,但是业界还有一些其他的paxos变种比如epaxos,未来可能会有一种新的Paxos变种成为主流。
 
     对于Raft来讲基于日志的连续提交的设定,相比multi-paxos的乱序提交在写入性能上会有些差距。对于Raft协议来讲没有太多改进空间了,但是braft要做一个理想的Raft库实现的话,依然需要不断的改进和优化。

【版权声明】:本站内容来自于与互联网(注明原创稿件除外),供访客免费学习需要。如文章或图像侵犯到您的权益,请及时告知,我们第一时间删除处理!谢谢!

凡高网络
网站建设咨询:029-88661315

经典客户案例展示

  • 凡高微信公众号
  • 响应式客户端

西安凡高网络科技有限公司
专注于品牌网站建设、集团网站建设、小程序开发、网站营销推广业务
服务客户超2000家

您好,很高兴为您服务 ^_^