Nacos注册服务

一、nacos介绍

二、nacos部署

2.1 安装jdk
tar xf jdk-8u241-linux-x64.tar.gz -C /data/software/
echo "export JAVA_HOME=/data/software/jdk1.8.0_241" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile
java -version
2.2 解压安装
wget -c https://github.com/alibaba/nacos/releases/download/2.0.0-bugfix/nacos-server-2.0.0.tar.gz
tar xf nacos-server-2.0.0.tar.gz -C /data/software/
2.3 启动服务
#默认nacos是以集群模式启动,必须连接数据库,如果不想以集群模式运行,需要修改为单机模式;
vim bin/startup.sh
#---------------------------------------------
export MODE="standalone" #将原来的cluster修改为standalone表示单机模式
#---------------------------------------------

# 启动进程
./startup.sh  #默认web端口8848,http://ip:8848/nacos/#/login, 默认账户密码:nacos
2.4 支持数据库

搭建集群前,需要修改nacos数据持久化配置为mysql存储,默认nacos使用嵌入式数据库实现数据的存储,多节点情况下无法保证数据一致性,所以采用mysql作为存储中心;

# 创建数据库
create database nacos character set utf8 collate utf8_general_ci;
GRANT ALL ON nacos.* TO 'nacos'@'127.0.0.1' IDENTIFIED BY 'nacos123';
FLUSH PRIVILEGES;

#执行sql,在conf目录下有个sql文件,执行到新建的库
mysql -unacos -h127.0.0.1 -p nacos < nacos-mysql.sql
#配置nacos参数
vim /data/software/nacos/conf/application.properties
#-------------------------------------------------------------
server.servlet.contextPath=/nacos        # web访问前缀
server.port=8848                         # web服务端口
spring.datasource.platform=mysql         # 使用mysql数据库,注意数据库用户授权
db.num=1             #数据库实例个数,如当前db.url.0,那么第二个则为db.url.1命名
db.url.0=jdbc:mysql://10.0.0.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos123
#-------------------------------------------------------------

#重启服务
./shutdown.sh
./startup.sh

三、nacos集群

3.1 架构设计

3.2 节点信息
主机名 节点ip 端口
nacos-1 10.0.0.10 nginx(80),nacos(8848)
nacos-2 10.0.0.17 nacos(8848)
nacos-3 10.0.0.20 nacos(8848)
3.3 集群配置
#所有节点执行配置
cp /data/software/nacos/conf/cluster.conf.example /data/software/nacos/conf/cluster.conf
vim /data/software/nacos/conf/cluster.conf
#-----------------------------------------------
#it is ip
10.0.0.10:8848
10.0.0.17:8848
10.0.0.20:8848
#-----------------------------------------------
#修改模式(所有节点)
vim bin/startup.sh
#-----------------------------------------------
export MODE="cluster"
#-----------------------------------------------

#重启服务
./shutdown.sh
./startup.sh
3.4 配置代理
# 添加nginx配置
upstream nacos {
    server 10.0.0.10:8848 weight=1 fail_timeout=200s max_fails=3;
    server 10.0.0.17:8848 weight=1 fail_timeout=200s max_fails=3;
    server 10.0.0.20:8848 weight=1 fail_timeout=200s max_fails=3;
}

server {
    listen 80;
    server_name  localhost;
    location /nacos/ {
        proxy_pass http://nacos/nacos/;
    }
}

#加载配置
nginx -t
nginx -s reload

# 访问测试
http://ip:80/nacos/