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;

}
相关推荐
云烟成雨TD7 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9657 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处7 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
小江的记录本8 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处8 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫9 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源9 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
逍遥德10 小时前
MQTT教程详解-04.SpringBoot集成MQTT(告别手动控制)
java·spring boot·物联网·中间件·iot·iotdb
语戚10 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
我命由我1234511 小时前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime