Nacos简介
前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service,一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心,Nacos:Dynamic Naming and Configuration Service,Nacos就是注册中心+配置中心的组合,等价于Nacos = Eureka+Config+Bus,可以替代Eureka做服务注册中心,替代Config做服务配置中心,NacosGitHub,Nacos中文文档、Spring Cloud Alibaba
Nacos下载
下载Nacos
选择版本,解压安装包,直接运行bin目录下的win系统startup.cmd,linux系统sh startup.sh
访问:http://localhost:8848/nacos
默认账号密码,nacos,nacos
单机版搭建完毕!
数据持久化
简单介绍
首先Nacos默认自带的是嵌入式数据库derby,但是由于微服务情况下保证高可用的情况下,Nacos一般都是采用集群的方式部署,那么这里Nacos在设计之初就考虑到了,如果集群中每台Nacos都使用独立的数据库那么这样数据同步来同步去太费事了,那么干脆使用同一数据源,也就是MySQL,当然了现在外部数据源也只能支持MySQL,而且Nacos也提供了艰苦建表的SQL文件
将此文件中的SQL复制到MySQL中执行
配置数据持久化
找到\conf目录下找到application.properties末尾添加下面配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.0.177:3307/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
重启Nacos,linux,关闭:sh shutdown.sh 启动sh startup.sh -m standalone
集群配置
1.修改/conf/cluster.conf文件
将这三台Nacos组成一个集群
2.修改启动脚本/bin/startup.sh
case $opt in
m)
MODE=$OPTARG;;
f)
FUNCTION_MODE=$OPTARG;;
s)
SERVER=$OPTARG;;
p)
PORT=$OPTARG;;
?)
echo "Unknown parameter"
exit 1;;
esac
nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
这里就是为了启动脚本的时候能够添加端口参数启动罢了!
3.启动三台Nacos
sh startup.sh -p 3333 -m standalone
sh startup.sh -p 4444-m standalone
sh startup.sh -p 5555-m standalone
Nginx代理配置
这里关于Nginx的配置不过多介绍,只演示和Nacos集群代理的配置,我这里采用Docker的方式启动,修改ngixn,conf
upstream cluster{
server 192.168.0.177:3333;
server 192.168.0.177:4444;
server 192.168.0.177:5555;
}
server {
listen 1111;
server_name localhost;
location /{
proxy_pass http://cluster;
}
}
//省略........
Docker启动Nginx
docker run -d -p 1111:1111 --name nginx1111 -v /data/nginx/www:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx
访问测试
搞定,后面代码中配置就是将原来的8848端口切换为1111即可,后续会有文章单独介绍SpringCloud整合Nacos!