介绍
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
特性
- 服务发现和服务健康监测
- 动态配置服务
- 动态 DNS 服务
- 服务及其元数据管理
集群搭建
使用两种方式搭建集群:
- 伪分布式集群
- 分布式集群
jdk 、数据库必须安装
1. 伪集群搭建
- Nacos 默认端口是
8848
, 很耳熟吧,我也觉得。通过端口控制控制,伪分布式都是这个思路。- 单节点与伪分布式区别是不用改变端口、不需要配置数据库、不需要改脚本,不在赘述,伪分布式搞定了,单节点更简单
- 下载安装
wget https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz
mkdir /home/nacos-test
tar -xzvf nacos-server-1.3.0.tar.gz -C /home/nacos-test
- 修改配置
/root/nacos-test
# 修改文件
mv cluster.conf.example cluster.conf
# 添加配置
vim cluster.conf
192.168.56.130:8848
192.168.56.130:8858
192.168.56.130:8868
- 修改脚本文件
/home/nacos-test/bin/startup.sh
while getopts ":m:f:s:p:" opt
do
case $opt in
m)
MODE=$OPTARG;;
f)
FUNCTION_MODE=$OPTARG;;
s)
SERVER=$OPTARG;;
p)
PORT=$OPTARG;;
?)
echo "Unknown parameter"
exit 1;;
esac
done
# start
echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"
替换上面脚本
- 建库/导表
mysql> create database nacos_config;
mysql> source /home/nacos-test/conf/nacos-mysql.sql
Query OK, 0 rows affected (0.01 sec)
...
mysql> show tables;
+------------------------+
| Tables_in_nacos_config |
+------------------------+
| config_info |
| config_info_aggr |
| config_info_beta |
| config_info_tag |
| config_tags_relation |
| group_capacity |
| his_config_info |
| roles |
| tenant_capacity |
| tenant_info |
| users |
+------------------------+
11 rows in set (0.00 sec)
- 配置数据库
/home/nacos-test/conf/application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.56.133:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=guanzc
db.password=123456
- 启动
./startup.sh -p 8848
./startup.sh -p 8858
./startup.sh -p 8868
- 访问
注意关闭防火墙
访问地址
http://192.168.56.130:8848/nacos/
修改端口正常访问
nacos/nacos
2. 分布式集群搭建
步骤基本和伪分布式一样
- 环境
服务器 | 服务 | 目录 |
---|---|---|
192.168.56.130 | mysql、nacos | /root/nacos |
192.168.56.131 | nacos | /root/nacos |
192.168.56.132 | nacos | /root/nacos |
-
下载、安装
上面一样,省略 -
配置数据库
建库、搭配表参看上面
每一个服务中的配置文件,都添加数据库配置
- 配置集群
vim cluster.conf
192.168.56.130:8848
192.168.56.133:8848
192.168.56.134:8848
注意:无需修改启动脚本
- 启动
./startup.sh
- 访问
nacos/nacos
不同ip 正常访问,nacos
小结
集群的两种搭建方式已经完成,不论那种方式,都需要配置数据。
搭建了一个nacos 集群,使用时,需要动态去访问,这是需要用到负载均衡nginx
Nacos负载均衡
- Nginx 安装
#安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
# 下载
wget https://nginx.org/download/nginx-1.19.0.tar.gz
tar -xzvf nginx-1.19.0.tar.gz
# 安装nginx
cd /root/nginx-1.19.0
#执行如下命令
./configure
make
make install
- Nginx 启停
默认路径/usr/local/nginx
#启动命令
./nginx
#停止
./nginx -s stop
./nginx -s quit
# 重启
./nginx -s reload
- 配置Nacos
upstream nacos {
server 192.168.56.130:8848;
server 192.168.56.133:8848;
server 192.168.56.134:8848;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://nacos;
}
}
- 负载均衡测试
总结
通过两种方式实现了nacos 集群搭建,实现了高可用。集成Nginx 实现Nacos 集群负载均衡。
搭建集群不是目的,把它用起来才是目的,后续博客中会把Nacos 当作注册中心、配置中心来使用下