Nacos部署模式介绍、应用场景和示例

概述

Nacos 支持多种部署模式,主要包括 单机模式集群模式 和 多集群模式


1. 单机模式

特点:

  • 只有一个 Nacos 节点。

  • 数据存储在本地嵌入式数据库(如 Derby)。

  • 配置简单,启动快速。

应用场景:

  • 开发环境:开发者可以在本地快速启动 Nacos 进行开发和调试。

  • 测试环境:用于功能测试和集成测试,无需复杂的集群配置。

Docker 部署示例:

1、拉取 Nacos 镜像:

docker pull nacos/nacos-server

2、启动单机模式:

docker run -d \
--name nacos-standalone \
-p 8848:8848 \
-e MODE=standalone \
nacos/nacos-server
    • -e MODE=standalone:指定单机模式。
    • -p 8848:8848:将容器的 8848 端口映射到宿主机。

    3、访问 Nacos 控制台:

    • 浏览器访问 http://localhost:8848/nacos,默认用户名和密码为 nacos/nacos


    2. 集群模式

    特点:

    • 多个 Nacos 节点组成集群。

    • 数据存储在外部的集中式数据库(如 MySQL)。

    • 通过 Raft 协议实现数据一致性。

    应用场景:

    • 生产环境:需要高可用性和负载均衡的场景。

    • 大规模微服务架构:服务实例多,需要稳定的服务发现和配置管理。

    Docker 部署示例:

    1. 准备 MySQL 数据库

      • 创建数据库 nacos,并执行 Nacos 提供的 SQL 脚本(位于 conf/nacos-mysql.sql)。

      • 确保 MySQL 可被 Nacos 容器访问。

    2. 创建自定义配置文件

    •  在宿主机上创建 application.properties 文件,配置 MySQL 数据库:
    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=
    db.password=
      • 将  和  替换为实际的 MySQL 信息。

              3、启动 Nacos 集群

      • 使用 Docker 启动多个 Nacos 节点(至少 3 个节点)。

      • 示例命令:

      docker run -d \
      --name nacos-cluster-1 \
      -p 8848:8848 \
      -v /path/to/application.properties:/home/nacos/conf/application.properties \
      -e MODE=cluster \
      nacos/nacos-server
      • -v:挂载自定义配置文件。

      • -e MODE=cluster:指定集群模式。

        • 重复以上命令,启动 nacos-cluster-2 和 nacos-cluster-3,注意修改端口映射(如 -p 8849:8848 和 -p 8850:8848)。

      4、配置集群节点

      • 在每个 Nacos 节点的 conf/cluster.conf 文件中,添加集群节点的 IP 和端口:

      192.168.1.101:8848
      192.168.1.102:8848
      192.168.1.103:8848
      1. 访问 Nacos 控制台

        • 浏览器访问任意节点的控制台(如 http://localhost:8848/nacos)。


      3. 多集群模式

      特点:

      • 多个 Nacos 集群,每个集群独立运行。

      • 通过 Sync 组件实现集群间的数据同步。

      • 适用于跨地域部署,减少网络延迟。

      应用场景:

      • 跨地域部署:如国内和国外分别部署 Nacos 集群,通过同步组件实现数据一致性。

      • 多数据中心:多个数据中心各自部署 Nacos 集群,确保数据同步。

      Docker 部署示例:

      1. 部署多个 Nacos 集群

        • 按照集群模式的步骤,在每个数据中心部署一个 Nacos 集群。

        • 确保每个集群的数据库独立。

      2. 配置 Sync 组件

        • 在每个 Nacos 集群的 application.properties 中,配置同步目标集群:

      nacos.sync.target.clusters=cluster1,cluster2
        • 将 cluster1 和 cluster2 替换为实际的集群名称。

      1. 启动集群

        • 使用 Docker 启动每个集群的 Nacos 节点。

      2. 验证数据同步

        • 在一个集群中注册服务或更新配置,检查其他集群是否同步。


      总结

      模式 特点 应用场景 Docker 部署示例
      单机模式 单节点,嵌入式数据库 开发、测试环境 docker run -d -p 8848:8848 -e MODE=standalone nacos/nacos-server
      集群模式 多节点,外部数据库,高可用 生产环境,大规模微服务架构 配置 MySQL,启动多个容器,挂载 application.properties,设置 cluster.conf
      多集群模式 多集群,跨地域数据同步 跨地域部署,多数据中心 部署多个集群,配置 Sync 组件,确保数据同步

      你可能感兴趣的:(服务器相关技术栈,微服务技术栈,docker,后端,微服务)