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

Nacos集群搭建 MYSQL+Nacos+Nginx

  • 前言:
  • 一.搭建Nacos集群
  • 二.利用Nginx实现Nacos集群高可用
    • 1.安装Nginx
    • 2.修改配置文件
    • 3.测试

前言:

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

集群解决问题:
1.并发访问压力
2.单节点故障问题
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第1张图片

一.搭建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地址
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第2张图片
注意: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

发现成功访问!!
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第3张图片
查看集群列表发现三个节点状态正常!!
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第4张图片
尝试用微服务注册到其中一个节点,观察另外2个节点的服务注册列表,发现都已成功注册!
我们向8845端口进行注册,发现8846和8847另外两个节点,已经同步了数据
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第5张图片
此时我们还没有实现高可用!!

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
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第6张图片
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第7张图片
关闭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/;
  	}

Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第8张图片
启动nginx(配置文件)

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

地址栏输入地址192.168.142.129/nacos,此时nginx就会利用默认的复杂均衡策略为我们选取一个节点,发现成功访问!!
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第9张图片

3.测试

此时我们的每一个微服务的yml配置文件中就的addr就可以改为nginx的ip和端口Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第10张图片
另外,在实际生产开发中,我们填写的并不是192.168.142.129:80,而是域名,这样当ip地址更改后,项目配置文件不用更改,只需要通过DNS进行域名解析即可!!

启动项目,发现成功注册!
Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)_第11张图片
至此,Nginx集群搭建和利用NGINX实现负载均衡大功告成!!希望对大家有帮助!!

你可能感兴趣的:(springcloud,nginx,nacos,springcloud,nacos集群,微服务)