Nacos 分布式和伪分布式集群搭建

    技术2022-07-12  77

    介绍

    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.130mysql、nacos/root/nacos192.168.56.131nacos/root/nacos192.168.56.132nacos/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 # 下载 wegt 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 当作注册中心、配置中心来使用下

    Processed: 0.019, SQL: 9