Nacos

Nacos两大模块:服务注册发现与配置中心

Nacos数据一致性

共识算法,通过算法保证各个节点之间数据一致性。

强一致性算法:Raft和Distro,Nacos使用JRaft算法(因为Nacos 是Java 技术栈,因此只能在JRaft、ZAB、Apache Ratis 中选择,但是ZAB 因为和Zookeeper 强绑定,再加上希望可以和Raft 算法库的支持团队随时沟通交流,因此选择了JRaft,选择JRaft 也是因为JRaft 支持多RaftGroup,为Nacos 后面的多数据分片带来了可能)。

Nacos一致协议层

三、Nacos协议封装

独立出来的协议模块支持强一致性和最终一致性协议,数据的一致性如何保障?其实也就是传统的读和写,所以独立的模块提供读和写两个接口,任何使用⼀致性协议,只需要使用getData 以及write 方法即可。**getData实现数据读取;**write实现数据写入

java 复制代码
public interface ConsistencyProtocol<T extends Config, P extends RequestProcessor> exten
ds CommandOperations {

Response getData(ReadRequest request) throws Exception;
Response write(WriteRequest request) throws Exception;

}
相关推荐
雨中飘荡的记忆1 天前
享元模式深度解析:看Java如何优雅节省内存
java·设计模式
悟空码字1 天前
SpringBoot接口防抖大作战,拒绝“手抖”重复提交!
java·spring boot·后端
编程大师哥1 天前
Boost C++
java·c++·php
网安_秋刀鱼1 天前
【java安全】shiro鉴权绕过
java·开发语言·安全
与遨游于天地1 天前
Spring 的10个核心能力,对框架开发的启示
java·后端·spring
独自归家的兔1 天前
通义千问3-VL-Plus - 界面交互(本地图片改进)
java·人工智能·交互
浔川python社1 天前
《C++ 小程序编写系列》(第四部):实战:简易图书管理系统(类与对象篇)
java·开发语言·apache
楠枬1 天前
OpenFeign
java·spring cloud·微服务
是席木木啊1 天前
基于MinIO Java SDK实现ZIP文件上传的方案与实践
java·开发语言
计算机毕设指导61 天前
基于微信小程序的垃圾分类信息系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven