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

宁夏电力建设工程公司外部网站建一个优化网站多少钱

宁夏电力建设工程公司外部网站,建一个优化网站多少钱,wordpress汉化主题,织梦wap网站Distro 它是 Nacos 社区自研的一种 AP 分布式协议(也是最终一致性协议)。它面向临时实例,保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。作为一种有状态的中间件应用的内嵌协议,Distro 保证了…

Distro

它是 Nacos 社区自研的一种 AP 分布式协议(也是最终一致性协议)。它面向临时实例,保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。作为一种有状态的中间件应用的内嵌协议,Distro 保证了各个 Nacos 节点对于海量注册请求的统一协调和存储。

设计思想如下:

  • Nacos 每个节点都是平等的,都可以处理写请求,同时把新数据同步到其它节点。
  • 每个节点只负责部分数据,定时发送自己负责数据的校验值到其它节点来保持数据一致性。
  • 每个节点独立处理读请求,及时从本地发出响应。

数据初始化

源码参考 DistroConsistencyServiceImpl

新加入的 Distro 节点会进行全量数据拉取。轮询所有的 Distro 节点,通过向其它机器发送请求拉取全量数据。

在全量拉取操作完成之后,Nacos 的每台机器上都维护了当前的所有注册的临时实例数据。

数据校验

源码参考 TimedSync

在 Distro 集群启动之后,每台机器会定期发送心跳。心跳信息主要为各个机器上的所有数据的元数据。这种数据校验会以心跳的形式进行,即每台机器在固定时间间隔(默认 5 秒)会向其它机器发起一次数据校验请求。

一旦在数据校验过程中,某台机器发现其它机器上的数据与本地数据不一致,则会发起一次全量拉取请求,将数据补齐。

写数据

源码参考 DistroConsistencyServiceImpl、DistroFilter、TaskScheduler

对于一个已经启动的 Distro 集群,在一次客户端发起写操作的流程中,当注册临时实例的写请求打到某台 Nacos 服务器时,Distro 集群的处理流程如下:

  • 前置的 Filter 拦截请求,并根据请求中的包含的 IP 和 port 信息计算其所属的 Distro 责任节点。当该节点接收到不属于该节点负责的实例的写请求时,将在集群内部路由,转发给对应的节点,从而完成读写。

  • 责任节点上的 Controller 将写请求进行解析。

  • Distro 协议定期执行 sync 任务,将本机所负责的所有实例信息同步到其它节点上。

读数据

由于每台机器上(数据存储在缓存中)都存放了全量数据,因此在每一次读操作中,Distro 机器会直接从本地拉取数据,快速响应。这种机制保证了 Distro 协议可以作为一种 AP 协议,对于读操作可以及时响应,即使出现网络分区的情况下,也能正常返回。等到网络恢复时,各个 Distro 节点会把各数据分片的数据进行合并恢复。这一段暂时没有找到对应的源码。

关于一致性的操作抽离在 ConsistencyService 接口上,并且在实现具体的一致性协议时实现了插件可插拔的形式。

public interface ConsistencyService {/*** Put a data related to a key to Nacos cluster.** @param key   key of data, this key should be globally unique* @param value value of data* @throws NacosException nacos exception*/void put(String key, Record value) throws NacosException;/*** Remove a data from Nacos cluster.** @param key key of data* @throws NacosException nacos exception*/void remove(String key) throws NacosException;/*** Get a data from Nacos cluster.** @param key key of data* @return data related to the key* @throws NacosException nacos exception*/Datum get(String key) throws NacosException;/*** Listen for changes of a data.** @param key      key of data* @param listener callback of data change* @throws NacosException nacos exception*/void listen(String key, RecordListener listener) throws NacosException;/*** Cancel listening of a data.** @param key      key of data* @param listener callback of data change* @throws NacosException nacos exception*/void unListen(String key, RecordListener listener) throws NacosException;/*** Tell the status of this consistency service.** @return true if available*/boolean isAvailable();
}
http://www.yayakq.cn/news/356181/

相关文章:

  • 某鲜花网站的数据库建设四川住房建设厅官方网站
  • 武安网站设计公司杭州网站建设公司慕枫
  • 网站建设需要多长时间农产品的网站建设方案书范文
  • 龙泉驿区建设局网站深圳企业排行
  • 做外汇查哪个网站用ps做网站方法
  • 矿产网站建设价格网站建设石家庄
  • 锐速做网站红色ppt模板免费下载
  • 上海中学门户网站做图表好看的网站
  • 网站建设公司年终总结网站如何提高排名
  • 建设外贸产品展示网站html背景图片代码
  • 建设网站商城需要多少费用吗北京推广网站
  • 园林景观设计案例网站建设网站空间合同
  • 做新闻源网站采集站赚钱c 网站开发案例
  • 百度推广 网站吸引力营销策略ppt
  • 推广引流网站海报设计平台
  • 论坛网站平台建设方案广州seo怎么做
  • 南昌优秀网站建设哈尔滨住房和城乡建设厅网站
  • 金华职院优质校建设网站做明星网站打广告
  • 网站建设与管理课程的目标提供免费空间的网站
  • 建设网站方法有哪些内容做企业网站还有钱挣吗
  • php源码 个人网站房屋租赁网站开发模版
  • 微网站有什么用wordpress插件一键
  • 网站备案 关闭如何修改网站发布时间
  • 网站备案经验建网站需要多少钱和什么条件
  • 一次备案多个网站房产信息网显示已签约
  • 淄博网站优化价格公司门户网站建设特点
  • 淄博网站制作价格低wordpress检验上传的文档
  • 河源市建设厅网站制作的网站如何访问
  • 做相册哪个网站好用吗软件开发工程师证书图片
  • 四川城乡和住房建设厅官方网站开网店的流程和步骤