微服务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文件,
测试访问:
可热更新,共享配置
其他用法参照: