首先介绍下之前我们在国内某互联网金融机构在项目中落地的 Nacos 集群架构图。
    image.png
    Nacos 生产环境架构
    下面我们来解读下 Nacos 集群架构的设计要点:

    1. 微服务并不是直接通过 IP 地址访问后端服务,而是采用域名访问。通过 DNS(域名解析服务)转换为具体的 IP 地址,通过域名方式屏蔽后端容易产生变化的 IP 地址。
    2. 底层 Nacos 自带集群间节点与数据同步方案,因此需要 Nacos 节点对外暴露 8848 与 7848 端口。其中 8848 端口的作用是对外暴露 API 与集群间数据同步,而 7848 端口则用于节点选举来确定集群领袖(Leader)。同时 Nacos 在集群环境下需要持久化应用配置、用户权限、历史信息等内置数据,因此需要额外部署 MySQL 数据库提供统一存储。
    3. 在 Nacos 层面,每一台服务器都有独立的 IP。我们并不建议直接将物理 IP 对外暴露,而是额外增加 VIP(虚拟 IP),通过 DNS 服务绑定 VIP,这样的好处是通过 VIP 屏蔽了Nacos集群实际的物理IP地址,同时为访问者提供了统一的接入入口,使微服务的注册接入和Nacos 集群实现细节彼此解耦,提高架构的维护性。