spring cloud alibaba之nacos之集群部署(五)

spring cloud alibaba之nacos之集群部署(五)

1.集群部署架构图

阿里官网推荐,推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。

http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式

在这里插入图片描述
挂载VIP与域名模式,较繁重,所以生产一般使用 Nginx做负载均衡。

2. 准备环境

2.1 三个虚拟机

192.168.181.131
192.168.181.132
192.168.181.133

3 .在虚拟机上分别部署集群版本的nacos-server。

3.1 运行nacos-server之前需要在虚拟机上安装JDK.
3.2 运行nacos-server需要配置Mysql数据源,保证naocs数据持久化,推荐主备模式,保证数据高可用。修改方式见上篇文章 数据持久化
3.3 修改nacos/conf/cluster.conf.example为 cluster.conf
内容为:

在这里插入图片描述
3.4 然后分别启动nacos-server

sh /usr/local/nacos/bin/startup.sh  //启动集群模式
tail -f /usr/local/nacos/logs/start.out //查看日志

在这里插入图片描述
此图,表示单个节点启动成功。

三个节点分别启动成功之后,访问其中一个虚拟机nacos的访问页面,可以看见集群节点列表。

在这里插入图片描述
可以,集群节点全部启动成功。

节点状态:LEADER:主  FLOWER:备
集群任期:节点竞争LEADER的选举票数,要是132挂了,131133会重新选举哪个节点做主节点

4.启动Nginx
修改nginx/conf/nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
    #tcp_nopush     on;
 
    keepalive_timeout  65;

	upstream nacosserver{
	   server 192.168.181.131:8848;
	   server 192.168.181.132:8848;
	   server 192.168.181.133:8848;
	}
	
    server {
        listen       8848;
        server_name  127.0.0.1;      
        location / {
            proxy_pass http://nacosserver;
        }

       
    }
   
}

5.服务提供者注册nacos地址配置

在这里插入图片描述

6.服务消费者注册消费nacos的地址配置

在这里插入图片描述
7.测试
7.1 为测试集群环境,把服务提供者service-order打成了三个jar(修改端口),分别在本机启动,可以预见,会在服务列表注册三个order的服务 节点。
在这里插入图片描述
7.2 消费者service-user启动一个。
在这里插入图片描述

查看消费列表:user订阅了order
在这里插入图片描述
7.3 访问user的接口(getOrderById)。
在这里插入图片描述
可见,每次访问展示的端口为不同节点的端口号,所以,每次访问都访问了不同的节点,可以服务节点的集群搭建成功,nacos-servier的集群也搭建成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章