Nacos集群入门

本文详细介绍了如何配置Nacos集群以实现数据持久化,并通过MySQL作为数据源。此外,还讲述了如何搭建Nacos集群,包括修改端口号、配置集群文件以及启动多个实例。同时,文章还涉及了通过nginx作为代理服务来负载均衡Nacos集群的步骤,确保高可用性。
摘要由CSDN通过智能技术生成

目录

一,持久化

二,Nacos集群搭建

三,配置代理服务 

1,nginx的安装

2,配置Nacos的代理nginx

 3,测试

四,补充 


一,持久化

Nacos在默认的情况下是不会开启持久化的,为了保证数据可持久化的保存,需要使用外部的数据库MySQL。可以使用MySQ来保证数据在集群的情况下保持统一和持久。

  •  切换数据库:修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql,版本要求:5.6.5+)

# vim /usr/local/nacos/conf/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://192.168.31.19:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1111

  • 建库建表  把图中选中的文件复制,在MySQL中的nacos库中运行,得到对应的表

  •  测试 重启Nacos,上传配置问件,观察是否有配置文件持久化到MySQL。

二,Nacos集群搭建

1.找到cluster.conf.example 复制一份并改名cluster.conf(防止文件配置错误,所以选择复制出一份) 

 cd /usr/local/nacos/conf
 cp cluster.conf.example cluster.conf


#it is ip
#example
192.168.145.131:8848
192.168.145.131:8849
192.168.145.131:8850

# 将cluster.conf中的内容修改成你的地址。

2.复制出3台Nacos

[root@localhost bin]# cd /usr/local
[root@localhost java]# mkdir nacos_cluster
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8850

 3.将 复制的Nacos中的conf/application.properties 的端口号分别改为

server.port=8848
server.port=8849
server.port=8850

三,配置代理服务 

1,nginx的安装

  • 安装nginx的依赖库

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

  • 下载nginx

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

  • 解压安装包

tar -zxvf nginx-1.12.0.tar.gz 

  •  配置nginx安装包(注意:./configure配置nginx安装到/usr/java/nginx目录下)

cd nginx-1.12.0

./configure --prefix=/usr/local/nginx

  • 编译并安装 

make && make install

2,配置Nacos的代理nginx

修改nginx.conf文件

upstream nacosList{
  server 192.168.145.131:8848;
  server 192.168.145.131:8849;
  server 192.168.145.131:8850;
}

server {
  listen 80;
  server_name  localhost;
  location / {
    proxy_pass http://nacosList;
  }
}

 3,测试

(1)启动集群:

[root@localhost upload]# cd /usr/local/nacos_cluster/nacos_8848/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8849/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8850/bin
[root@localhost bin]# ./startup.sh

(2)启动代理:

[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx 

(3)把服务注册到Nacos

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.145.131:8848
        group: DEFAULT_GROUP
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.145.128:3306/health?characterEncoding=UTF-8
    username: root
    password: 1111
    type: com.alibaba.druid.pool.DruidDataSource
  application:
    name: nacos-consumer

 

为什么集群要用三个?

在集群中要有一个“老大”来实现数据的同步,采用投票的算法取决谁是老大,采用三台Nacos几乎不会出错。

当在运行的时候,“老大死亡”,会重新选出老大,如果原来老大的Nacos重启,则会成为附属Nacos。

四,补充 

1,监听查询

修改配置文件后nacos监听到MD5有变化则推送消息给客户端,客户端收到消息后会拉取最新配置(参考配置管理->监听查询菜单)

当我们修改配置文件的信息后MD5的信息发生改变

 客户端收到消息后会拉取最新配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值