Nacos集群搭建

Nacos集群的思想:一个Nacos请求通过Nginx的反向代理完成负载均衡获取Nacos集群节点,通过数据库集群完成Nacos数据同步

Nacos集群的结构:

Nacos集群搭建

搭建集群的基本步骤:

  • 下载Nacos
  • 搭建数据库,初始化数据库表结构
  • 配置nacos
  • 启动nacos集群
  • nginx反向代理

下载并解压Nacos

nacos在GitHub上有下载地址:https://github.com/alibaba/nacos/tags,可以选择任意版本下载

初始化数据库

Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库,官方推荐的最佳实践是使用带有主从的高可用数据库集群。

首先新建一个数据库,命名为nacos_cluster,而后导入SQL:

配置Nacos

进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf

然后添加内容

127.0.0.1:8845
127.0.0.1:8846
127.0.0.1:8847

然后修改application.properties文件,添加数据库配置

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_cluster?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

nacos_cluster:持久化nacos的数据

启动

将nacos文件夹复制三份,分别命名为:nacos1、nacos2、nacos3

然后分别修改三个文件夹中的application.properties

nacos1:

server.port=8845

nacos2:

server.port=8846

nacos3:

server.port=8847

然后分别启动三个nacos节点:

startup.cmd (默认集群模式启动)

Nginx反向代理

下载地址:http://nginx.org/en/download.html

解压到任意非中文目录下

修改conf/nginx.conf文件,配置如下:

upstream nacos-cluster {
    server 127.0.0.1:8845;
    server 127.0.0.1:8846;
    server 127.0.0.1:8847;
}

server {
    listen       80;
    server_name  localhost;

    location /nacos {
        proxy_pass http://nacos-cluster;
    }
}

启动

nginx.exe

浏览器访问:http://localhost/nacos

项目中使用Nacos集群

bootstrap.yml 文件配置如下

spring:
  cloud:
    nacos:
      server-addr: localhost:80 # Nacos地址

注意:将nacos地址配置在spring.cloud.nacos的server-addr属性下,否则在启动微服务实例,就会出现以下错误:

原文地址:https://www.cnblogs.com/WarBlog/p/15410601.html