nacos集群

目前采用三台虚拟机10.3.0.142,10.3.0.145,10.3.0.146启动三个nacos加上本机10.3.0.140的nginx实现

以10.3.0.142为例:

  • 修改项目下的cluster.conf.example 修改为cluster.conf 。。如果单机的话可以为10.3.0.142:8848这样通过端口区分。
1.png
  • 新建一个数据库nacos,执行目录下的nacos-mysql.sql

  • 修改配置文件

2.png
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql

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

### Connect URL of DB:
db.url.0=jdbc:mysql://10.3.0.140:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
  • 修改启动脚本。


    image.png
  • 启动服务。执行netstat -nltp 或者查看nacos.log查看日志。

三台启动完成之后。登录其中任意一台界面可以发现(启动失败可能是启动脚本中设置的虚拟机参数过大)。

image.png

登录任意一台nacos看到的内容都是一致的。

配置nginx


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    upstream nacos-server {
     server 10.3.0.142:8848 max_fails=1  fail_timeout=120;
     server 10.3.0.145:8848 max_fails=1  fail_timeout=120;
     server 10.3.0.146:8848 max_fails=1  fail_timeout=120;
    }

    server {
        listen 8848;
        server_name  localhost;
        location /nacos/ {
        proxy_pass http://nacos-server/nacos/;
      }
    }
}


启动nginx。访问本地的 http://localhost:8848/nacos可以发现成功了。可以测试当nacos宕机一台以及后端服务宕机一台的情况。

你可能感兴趣的:(nacos集群)