vlambda博客
学习文章列表

Nacos实现原理分析

通过以上几篇文章,我们对Nacos已经有了一定的认识,这里我们主要通过Nacos的架构及实现注册中心的原理来进一步进行了解。


Nacos架构图


  • Provider API:服务提供者。

  • Consumer API:服务消费者。

  • Name Server:通过VIP(Vritual IP)或者DNS的方式实现Nacos高可用集群的服务路由。

  • Nacos Server:Nacos服务提供者,里面包含的Open API是功能访问入口,Config Service、Naming Service是Nacos提供的配置服务,名字服务模块。Consisency Protocol是一致性协议,用来实现Nacos集群节点的数据同步,这里使用的是Raft算法。

  • Nacos Console:Nacos控制台。


整体来说,服务提供者通过VIP(Vritual IP)访问Nacos Server高可用集群,基于Open API完成服务的注册和服务的查询。Nacos Server本身可以支持主备模式,所以底层会采用数据一致性算法来完成从节点的数据同步。服务消费者也是如此,基于Open API从Nacos Server中查询服务列表。

注册中心的原理


服务注册的功能主要体现在:
  • 服务实例在启动时注册到服务注册表,并在关闭时注销。

  • 服务消费者查询服务注册表,获得可以实例。

  • 服务注册中心需要调用服务实例的健康检查API来验证它是否能够处理请求。



Nacos服务注册与发现的实现原理如下图:


后面我们会根据源码实现看一下具体原理。