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

介绍

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

特性

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理

集群搭建

使用两种方式搭建集群:

  1. 伪分布式集群
  2. 分布式集群

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/nacos
192.168.56.131nacos/root/nacos
192.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
# 下载
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 当作注册中心、配置中心来使用下

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值