Spring Cloud Nacos(一)
Nacos功能
- 服务发现与健康监测
- 动态配置管理
- 动态DNS服务
- 服务和元数据管理(管理平台的角度,nacos也有一个ui页面,可以看到注册的服务以及实例信息(元数据信息等),动态的服务权重调整,动态服务优雅下线,都可以去做)
Nacos 搭建
下载最新的nacos
下载到Linux 服务器且解压
$ tar xvf nacos-server-2.1.1.tar.gz
启动 nacos
$ cd nacos
$ ./bin/startup.sh -m standalone
访问 http://192.168.79.8:8848/nacos/
默认用户名密码 nacos/nacos
集成 MySQL
Docker 安装 MySQL8
修改配置文件 ${nacos_root_path}/conf/application.properties
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.79.8:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# 对应的MySQL 用户名及密码
db.user.0=root
db.password.0=123456
启动 MySQL
新建nacos
数据库
执行脚本 ${nacos_root_path}/conf/nacos-mysql.sql
集群搭建
IP | hostname | type |
---|---|---|
192.168.79.8 | server01 | nacos server |
192.168.79.9 | server02 | nacos server |
192.168.79.10 | server03 | nacos server |
$ cd /home/tester/app/nacos/conf
$ cp cluster.conf.example cluster.conf
$ vim cluster.conf
#it is ip
#example
192.168.79.8:8848
192.168.79.9:8848
192.168.79.10:8848
将配置好的copy到其他服务器上
$ scp -r /home/tester/app/nacos tester@192.168.79.9:/home/tester/app/
$ scp -r /home/tester/app/nacos tester@192.168.79.10:/home/tester/app/
分别启动对应服务器上的nacos
# 192.1678.79.8
$ ./home/tester/app/nacos/bin/startup.sh
# 192.1678.79.9
$ ./home/tester/app/nacos/bin/startup.sh
# 192.1678.79.10
$ ./home/tester/app/nacos/bin/startup.sh
配置 nginx 实现负载均衡
安装 nginx
$ sudo apt install nginx
新增配置
$ sudo vim /etc/nginx/conf.d/nacos.conf
upstream nacos_cluster {
server 192.168.79.8:8848;
server 192.168.79.9:8848;
server 192.168.79.10:8848;
}
server {
listen 9999;
server_name localhost;
location /nacos {
proxy_set_header Host $http_host;
proxy_pass http://nacos_cluster/nacos;
}
}
通过访问 http://192.168.79.8:9999/nacos
来做默认登入页