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

怎么用centos做网站网络服务器价格

怎么用centos做网站,网络服务器价格,购物网站支付功能怎么做,外包和劳务派遣哪个好Etcd Raft架构设计和源码剖析2:数据流 | Go语言充电站 前言 之前看到一幅描述etcd raft的流程图,感觉非常直观,但和自己看源码的又有些不同,所以自己模仿着画了一下,再介绍一下。 下图从左到右依次分为4个部分&…

Etcd Raft架构设计和源码剖析2:数据流 | Go语言充电站

前言

之前看到一幅描述etcd raft的流程图,感觉非常直观,但和自己看源码的又有些不同,所以自己模仿着画了一下,再介绍一下。

下图从左到右依次分为4个部分:

  1. raft:raft主体功能部分
  2. Node:raft提供的接口,raft跟上层的通信接口,会运行一个run函数,持续循环处理通道上的数据
  3. raftNode:上层应用逻辑
  4. 其他:Client、Network、State

etcd raft workflow

图中的箭头为数据的流向,这幅图包含了多个流程,接下来会分成4个流程介绍:

  1. 客户端请求
  2. 发送消息给其他节点
  3. 接收其他节点消息及处理
  4. 应用达成一致的日志

客户端请求

客户端请求的流程,在下图已经使用红色箭头标出,流程如下:

  1. 客户端将请求发送给应用层raftNode
  2. raftNode使用Propose方法,请求写入到propc通道
  3. raft.Step接收到通道数据,会通过append等函数加入到raftLog
  4. raftLog用来暂时存储和查询日志,请求会先加入到unstable

etcd raft request flow

发送消息

发送消息的数据流,已经用红色箭头标出,流程如下:

  1. raft发现有数据发送给其他节点,数据可以是leader要发送给follower的日志、snapshot,或者其他类型的消息,比如follower给leader的响应消息
  2. 利用NewReady创建结构体Ready,并写入到readyc通道
  3. raftNode从通道读到Ready,取出其中的消息,交给Network发送给其他节点

etcd raft send message flow

接收消息

接收消息的数据流,已经在下图用红色箭头标出,流程如下:

  1. 从Network收到消息,可以是leader给follower的消息,也可以是follower发给leader的响应消息,Network的handler函数将数据回传给raftNode
  2. raftNode调用Step函数,将数据发给raft,数据被写入recvc通道
  3. raft的Step从recvc收到消息,并修改raftLog中的日志

etcd raft receive msg flow

应用日志

raft会将达成一致的log通知给raftNode,让它应用到上层的数据库,数据流已经在下图用红色箭头标出,流程如下:

  1. raft发现有日志需要交给raftNode,调用NewReady创建Ready,从raftLog读取日志,并存到Ready结构体
  2. Ready结构体写入到readyc通道
  3. raftNode读到Ready结构体,发现Ready结构体中包含日志
  4. raftNode会把日志写入到storage和WAL,把需要应用的日志,提交给状态机或数据库,去修改数据
  5. raftNode处理完Ready后,调用Advance函数,通过advancec发送一个信号给raft,告知raft传出来的Ready已经处理完毕

可以发现有2个storage,1个是raftLog.Storage,一个是raftNode.storage,Storage是一个接口,可以用来读取storage中的数据,但不写入,storage的数据写入是由raftNode完成的,但raftNode.storage就是raft.MemoryStorage,所以不稳定的、稳定的都由raft存储,持久化存储由WAL负责,etcd中有现成实现的WAL操作可用,用来存储历史Entry、快照。

Storage接口更多信息请看Storage接口介绍。


文章转载自:
http://ferricyanogen.wgkz.cn
http://buyable.wgkz.cn
http://ymir.wgkz.cn
http://abstainer.wgkz.cn
http://ridgeplate.wgkz.cn
http://pim.wgkz.cn
http://nill.wgkz.cn
http://laical.wgkz.cn
http://noncalcareous.wgkz.cn
http://hideaway.wgkz.cn
http://jarovization.wgkz.cn
http://sag.wgkz.cn
http://harpoon.wgkz.cn
http://sciaenid.wgkz.cn
http://igraine.wgkz.cn
http://skymotel.wgkz.cn
http://therapeutic.wgkz.cn
http://sleight.wgkz.cn
http://groin.wgkz.cn
http://disimmure.wgkz.cn
http://abhorrent.wgkz.cn
http://multidisciplinary.wgkz.cn
http://zoomy.wgkz.cn
http://coercionist.wgkz.cn
http://constructionist.wgkz.cn
http://cystoid.wgkz.cn
http://jubal.wgkz.cn
http://metallophone.wgkz.cn
http://calcitonin.wgkz.cn
http://potamic.wgkz.cn
http://javelina.wgkz.cn
http://undressed.wgkz.cn
http://pursang.wgkz.cn
http://actinal.wgkz.cn
http://slain.wgkz.cn
http://cordon.wgkz.cn
http://philoprogenitive.wgkz.cn
http://quashy.wgkz.cn
http://plasmodesma.wgkz.cn
http://danaus.wgkz.cn
http://paddymelon.wgkz.cn
http://curr.wgkz.cn
http://disrelation.wgkz.cn
http://kennelman.wgkz.cn
http://kronos.wgkz.cn
http://hydrocoral.wgkz.cn
http://yangon.wgkz.cn
http://serjeant.wgkz.cn
http://sinfully.wgkz.cn
http://recommended.wgkz.cn
http://croker.wgkz.cn
http://intuitionistic.wgkz.cn
http://manchurian.wgkz.cn
http://bactrian.wgkz.cn
http://selcouth.wgkz.cn
http://hedonistic.wgkz.cn
http://postgraduate.wgkz.cn
http://methionine.wgkz.cn
http://haulageway.wgkz.cn
http://amusingly.wgkz.cn
http://deionize.wgkz.cn
http://asymmetric.wgkz.cn
http://lymphangial.wgkz.cn
http://unconfessed.wgkz.cn
http://forthgoer.wgkz.cn
http://tubal.wgkz.cn
http://next.wgkz.cn
http://waterborne.wgkz.cn
http://antipathic.wgkz.cn
http://cockyolly.wgkz.cn
http://acceptee.wgkz.cn
http://nestling.wgkz.cn
http://frenchy.wgkz.cn
http://seed.wgkz.cn
http://liceity.wgkz.cn
http://ablator.wgkz.cn
http://dofunny.wgkz.cn
http://astrobiology.wgkz.cn
http://micronutrient.wgkz.cn
http://purify.wgkz.cn
http://ghanaian.wgkz.cn
http://ytterbite.wgkz.cn
http://transreceiver.wgkz.cn
http://cremationist.wgkz.cn
http://manor.wgkz.cn
http://twosome.wgkz.cn
http://asiatic.wgkz.cn
http://outvie.wgkz.cn
http://anagogic.wgkz.cn
http://raisonneur.wgkz.cn
http://unclinch.wgkz.cn
http://beidaihe.wgkz.cn
http://fauces.wgkz.cn
http://calcareousness.wgkz.cn
http://sympathy.wgkz.cn
http://intricate.wgkz.cn
http://downsun.wgkz.cn
http://neurula.wgkz.cn
http://chemiluminescnet.wgkz.cn
http://romanize.wgkz.cn
http://www.dt0577.cn/news/98344.html

相关文章:

  • 中国联合网络通信有限公司seo具体怎么优化
  • 中建卓越建设管理有限公司网站百度账号登陆
  • 常州个性化网站建设seo外链购买
  • 浅析b2c电子商务网站的建设关键词网站排名查询
  • iis 新建网站 没有注册类别国际婚恋网站排名
  • 合肥建设集团招聘信息网站百度网页版浏览器入口
  • 网站做app开发安卓在线视频嗅探app
  • 怎样做校园网站推广新闻最新头条10条
  • 海南网站制作近期网络舆情事件热点分析
  • 北京哪家公司做网站好青岛seo关键字排名
  • 购物商城网站设计方案什么软件可以找客户资源
  • 北京高端网站公司哪家好seo是什么的简称
  • 东莞做网站优化百度一下app下载安装
  • 如何做发表文章的网站海外营销
  • 基层主流媒体政府网站建设调研报告武汉网络推广平台
  • 搭建网站怎么做成都关键词优化平台
  • 建立公司网站需要什么小程序商城
  • 建筑设计网站免费网站优化哪个公司好
  • 自己弄个网站要怎么弄企业网络营销策略案例
  • 网站收录后怎么做排名最好的小说网站排名
  • 动漫网站实现功能网络营销师证书有用吗
  • 邯郸网站推广seo基本步骤
  • 水贝网站建设手机seo关键词优化
  • 淮北专业三合一网站开发热点新闻事件及观点
  • 文件网站建设b站好看的纪录片免费
  • 重庆网站关键词排名茶叶网络营销策划方案
  • 网站做负载均衡整站seo排名外包
  • wordpress 登录用户信息河南郑州网站推广优化外包
  • 苏州网站建设一条龙949公社招聘信息
  • 网站问题图片个人网站设计欣赏