微服务7 nacos集群搭建

1.官方集群结构

请求进入以后,经过SLB负载均衡器分发到不同的nacos结点。

详细设计:3个nacos结点通过MySQL集群实现数据共享,nginx实现反向代理和负载均衡

3个nacos结点还是使用不同的端口模拟

2.搭建集群

2.1搭建数据库

Nacos 默认数据存储在内嵌数据库 Derby 中,不属于生产可用的数据库。官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库。这里我们以单点的数据库为例。

首先新建一个数据库,命名为 nacos,而后导入下面的 SQL(在nacos安装目录 -> conf -> nacos-mysql.sql可找到)

2.2下载安装nacos

2.3配置nacos

1.进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf

2.在文件末尾修改结点信息(端口占用要修改,我就是8846被占用,所以改成8849)

127.0.0.1:8845 127.0.0.1:8849 127.0.0.1:8847

3. 修改 application.properties 文件,添加数据库配置

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&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=

2.4启动

1.将nacos文件夹复制三份,模拟三台机器

2.分别修改三个application.properties文件的端口

nacos1:

server.port=8845

nacos2:

server.port=8849

nacos3:

server.port=8847

3.运行bin目录下的startup.cmd文件

或者在bin目录下执行启动命令:

startup.cmd

2.5nginx反向代理和负载均衡

1.下载安装

官网下载地址:http://.org/en/download.html

解压即安装

2.修改配置

修改 nginx 文件夹下的 conf/nginx.conf 文件的http属性内添加

upstream nacos-cluster { server 127.0.0.1:8845; server 127.0.0.1:8849; server 127.0.0.1:8847; } server { listen 80; server_name localhost; location /nacos { proxy_pass http://nacos-cluster; } }

3.启动

在安装目录执行启动命令

start nginx.exe

访问

404报错!!! 如果访问出现404,而检查配置无误,将监听端口80改为其他空闲的(如8888)测试,结束后再改回80测试,用什么端口无所谓,能跑就行

在访问的配置文件中配置:

spring: application: name: user-server # 服务名称 cloud: nacos: server-addr: localhost:80/nacos #nacos服务地址

注意!!! 此处的nacos服务地址由添加在nginx.conf 文件的http属性的三部分组成,直接写localhost:80会连接失败

在nacos控制台创建配置

发布失败可能是版本问题,创建数据库时要用自己nacos目录conf里面的nacos-mysql.sql文件,

测试访问:

可热更新,共享配置

其他用法参照:

经验分享 程序员 微信小程序 职场和发展