Nacos 注册中心实现原理
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
启动Nacos服务
分别进入3台机器的bin目录,执行sh startup.sh或者startup.cmd -m cluster 命令启动服务。服务启动成功后,在${nacos_home}/logs/start.out下可获取日志,表示服务启动成功。
INFO Nacos started successfully in cluster mode.
复制代码
通过http://${nacos_cluster_ip}:8848/nacos来访问Nacos控制台,在节点列表下可看到集群由哪些节点组成及节点的状态。
Nacos实现原理
通过官方的Nacos架构图来分析具体模块组成
-
Provider APP:服务提供者
-
Consumer APP:服务消费者
-
Nacos Server:Nacos 服务提供者,包含OpenAPI(功能访问入口)、Config Service(配置服务)、Naming Service(名字服务)、Consistency Protocol(一致性协议,用来实现Nacos集群节点数据同步、注意使用了Raft算法)
-
Nacos Console:Nacos 控制台
总体上,服务提供者通过Virtual IP 访问Nacos Server高可用集群,基于OpenAPI完成服务的注册和服务的查询,Nacos Server可支持主备模式,因此底层采用数据一致性算法来完成节点之间的数据同步,而服务消费者也是同理。
注册中心原理
服务注册功能主要体现在如下方面:
-
服务实例在启动时注册到服务注册表,并在关闭时注销。
-
服务消费者查询服务注册表,获得可用实例。
-
服务注册中心需要调用服务实例的健康检查API来验证它是否能够处理请求。