【Spring Cloud Alibaba系列】 Nacos 注册中心实现原理

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架构图来分析具体模块组成

image-20211003215359631.png

  • 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来验证它是否能够处理请求。

猜你喜欢

转载自juejin.im/post/7016506759699234830