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;

}
相关推荐
九皇叔叔11 分钟前
高斯性能分析【第一天】单表执行计划分析
java·数据库·性能分析·执行计划·gauss
苦逼的猿宝13 分钟前
基于springboot的社区团购系统设计(源码+论文)
java·毕业设计·springboot·计算机毕业设计
电魂泡哥14 分钟前
RocketMQ Dledger 集群与 Raft 协议
java·rocketmq·java-rocketmq
行走的蜗牛22 分钟前
【springai】 Model层设计与实现
java·ai编程
认真的薛薛25 分钟前
Linux基础:GitOps发布流程
java·linux·运维
鱼鳞_25 分钟前
苍穹外卖-Day05(Redis)
java·redis
雨落在了我的手上31 分钟前
初识java(九):类和对象(⼀)
java·开发语言
是码龙不是码农32 分钟前
数据库主键选型:为什么别用自增 ID?
java·数据库
北风toto36 分钟前
Jenkins新手入门安装插件全报错
java·运维·jenkins