Nacos集群部署(5)

集群模式部署

Nacos文档中提供了三种集群部署方案

 

  1. http://ip1:port/openAPI 直连ip模式:
    • ip+端口进行部署,客户端直接连接Nacos的ip
  2. http://Vip:port/openAPI 挂载虚拟IP模式:
    • 配合KeepAlive,Nacos真实ip都挂载虚拟Ip下
    • 客户端访问Vip发起请求
    • 当主Nacos宕机后,备用Nacos接管,实现高可用,
  3. http://www.nacostest.com:port/openAPI 挂载虚拟IP+域名模式:
    • 为虚拟ip绑定一个域名,当Nacos集群迁移时,客户端配置无需修改。

这三种方案都是为了尽可能实现高可用,后两种方案除了基本的部署流程外更多侧重于实现高可用的工作上

本文以第一种ip+端口的方式为大家介绍集群部署方式

 

当然ip+端口也有多种部署方式

  • 1ip+n端口+Nginx:普通玩家部署方式,没有过多服务器,单台服务器启动多个nacos实例,仅适合测试使用
  • nip+n端口+Nginx:RMB玩家部署方式,服务器资源充足,组建完美集群,实现更好的容灾与隔离

无论怎么部署,部署方式都是一样的,这里我以1ip+3端口+Nginx的方式进行集群搭建

Nacos集群模式是需要两个条件的:

  1. 需要将Nacos数据持久化存储到Mysql数据库(单例模式默认使用了内嵌数据库)。
  2. 需要为集群的多个实例实现VIP功能(通常通过Nginx实现)

修改配置

1、修改Nacos-server目录conf/下的application.properties文件,添加mysql数据源

修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

2、修改集群配置

ip和端口的规划如下:

192.168.75.1:8847
192.168.75.1:8849
192.168.75.1:8850

修改conf/下的cluster.conf.example文件,将其命名为cluster.conf,内容如下

注:一定要记得将配置文件重命名为cluster.conf, 最好用实际ip,而非127.0.0.1,否则会出现问题

启动nacos

此时,多节点的集群雏形已经搭建好了,可以试着访问Nacos后台

配置nginx

完成上面的配置后,已经基本完成集群搭建的90%了

这里我们可以通过Nginx配置,为Nacos提供统一的入口,来实现一个简单的负载均衡

Nginx配置如下

upstream nacos-server {
  server 127.0.0.1:8847;
  server 127.0.0.1:8849;
  server 127.0.0.1:8850;
}

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

启动nginx

过8848端口访问Nacos后台,此时Nginx会将请求分发至nacos-server下的地址中,这里默认的分发策略是线性轮询

posted @ 2021-03-10 17:58  hzy_叶子  阅读(193)  评论(0编辑  收藏  举报