Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)

本文详细介绍了如何搭建Nacos集群,包括设置不同端口、配置集群文件、启动集群服务,并通过Nginx实现负载均衡,确保高可用性。通过Nginx配置,实现了微服务注册到Nacos集群的任意节点并实现数据同步。最后,讨论了在生产环境中使用域名以适应IP变化的情况。
摘要由CSDN通过智能技术生成

前言:

由于Nacos是服务注册中心和统一配置中心,生产开发中为了保障高可用性,得搭建Nacos集群

集群解决问题:
1.并发访问压力
2.单节点故障问题
在这里插入图片描述

一.搭建Nacos集群

注意:
a.3个或3个以上Nacos节点才能构成集群。
b.要求虚拟机内存分配必须大于3G以上
c.搭建Nacos时,需要清空data目录中的数据,
d.如果持久化到mysql,需要重新加载nacos-mysql.sql文件,数据库中不能存在原始数据

1.拷贝3份Nacos目录修改端口来模拟3台Nacos服务

 cp  -r nacos naco1
 cp  -r nacos naco2
 cp  -r nacos naco3

在这里插入图片描述
2.修改conf/application.properties端口号分别为8845,8846,8847

vim nacos1/conf/application.properties 	8845
vim nacos2/conf/application.properties 	8846
vim nacos3/conf/application.properties 	8847

3.所有集群节点修改conf目录中cluster.conf文件
需要在cluster.conf中添加所有节点的ip地址
在这里插入图片描述
注意:confi中默认是cluster.conf.exampl需要改为cluster.conf

mv cluster.conf.example  cluster.conf
[root@JWCoder nacos1] cp conf/cluster.conf ../nacos2/conf/cluster.conf
[root@JWCoder nacos1] cp conf/cluster.conf ../nacos3/conf/cluster.conf

4.以集群方式启动

[root@JWCoder nacos] nacos1/bin/startup.sh
[root@JWCoder nacos] nacos2/bin/startup.sh
[root@JWCoder nacos] nacos3/bin/startup.sh
[root@JWCoder nacos] jps
2802 nacos-server.jar
2739 nacos-server.jar
2857 nacos-server.jar
2878 Jps

发现成功访问!!
在这里插入图片描述
查看集群列表发现三个节点状态正常!!
在这里插入图片描述
尝试用微服务注册到其中一个节点,观察另外2个节点的服务注册列表,发现都已成功注册!
我们向8845端口进行注册,发现8846和8847另外两个节点,已经同步了数据
在这里插入图片描述
此时我们还没有实现高可用!!

server:
  port: 8081
spring:
  application:
    name: NACOS-CLIENT
  cloud:
    nacos:
      # 总地址
      server-addr: 192.168.142.129:8845

此时我们是注册到8845这个nacos节点,server-addr: 192.168.142.129:8845,如果8845节点宕机,8846和8847应该上来提供服务,显然当前我们没法办到!!

二.利用Nginx实现Nacos集群高可用

1.安装Nginx

由于我已经提前安装了好了Nginx,大家自行安装
启动Nginx,默认端口时80
在这里插入图片描述
在这里插入图片描述
关闭nginx

 ./nginx -s stop
 或者
 kill - 9 进程iD

2.修改配置文件

2.修改nginx/conf/nginx.conf配置文件
添加以下两段配置

	upstream  nacos-servers {
    	server 192.168.142.129:8845;
		server 192.168.142.129:8846;
		server 192.168.142.129:8847;
	}
	
	location / {
      proxy_pass http://nacos-servers/;
  	}

在这里插入图片描述
启动nginx(配置文件)

[root@JWCoder sbin] ./nginx -c /usr/local/nginx/conf/nginx.conf

地址栏输入地址192.168.142.129/nacos,此时nginx就会利用默认的复杂均衡策略为我们选取一个节点,发现成功访问!!
在这里插入图片描述

3.测试

此时我们的每一个微服务的yml配置文件中就的addr就可以改为nginx的ip和端口在这里插入图片描述
另外,在实际生产开发中,我们填写的并不是192.168.142.129:80,而是域名,这样当ip地址更改后,项目配置文件不用更改,只需要通过DNS进行域名解析即可!!

启动项目,发现成功注册!
在这里插入图片描述
至此,Nginx集群搭建和利用NGINX实现负载均衡大功告成!!希望对大家有帮助!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值