目 录CONTENT

文章目录

1-8 Nacos集群架构

在等晚風吹
2023-12-18 / 0 评论 / 0 点赞 / 12 阅读 / 0 字 / 正在检测是否收录...

1-8 Nacos集群架构

​ 到目前为止,我们已经对Nacos的一些基本使用和配置已经掌握,但是这些还不够,我们还需要了解一个非常重要的点,就是Nacos的集群相关的操作,那我们就先从Nacos集群配置的概念说起

1 Nacos支持三种部署模式

  1. 单机模式 - 用于测试和单机试用
  2. 集群模式 - 用于生产环境,确保高可用
  3. 多集群模式 - 用于多数据中心场景

2 集群部署说明

参考网站:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

架构图:部署生产使用的集群模式

image-20210927163629652

具体拆分

image-20210927165836853

3 预备环境

​ 默认Nacos使用嵌入式数据库实现数据的存储,所以,如果启动多个默认配置下的Nacos节点,数据储存存在一致性问题,为了解决这个问题,Nacos采用了集中存储方式来支持集群化部署,目前仅支持MySql的存储。

  1. 推荐使用Linux

  2. 可以使用内部数据源或者外部数据源(推荐使用外部)MySql

4 更改Nacos启动命令配置原理

我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果启动3个Nacos那?所以如果我们需要启动多个Nacos,其实Nacos本身默认启动就是集群模式。

注意点:如果是linux虚拟机,需要分配至少4g以上内存

5 具体配置

5.1 Linux服务器上MySql数据库配置

  1. 在Linux系统上执行SQL脚本,具体位置在nacos目录下的conf中,这里的操作和之前是一样的,我们可以直接打开这个文件然后拷贝到数据库中执行,当然也是要创建数据库使用数据库然后在复制脚本内容,执行即可
create database nacos_config;
use nacos_config;

image-20210929175710498

  1. 修改application.properties配置文件,但是修改之前我们最好做一个备份。
cp application.properties application.properties.init
  1. 这里的修改和我们之间的在win上的修改是完全一样的,所以我们只要打开这个文件,加上对应的内容即可
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user=root
db.password=123456
  1. 还要注意一点,这个文件中的两个服务的端口号也要对应修改
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8888/8868

5.2 Linux服务器上Nacos的集群配置cluter.conf

  1. 这里开始正式配置集群,首先我们要更改cluter.conf这个配置文件,当然我们也需要备份,但是这里它的原始名称为:cluster.conf.example,我们需要把它保留同时复制出一个cluster.conf来进行更改
cp cluster.conf.example cluster.conf

image-20210929182825202

  1. 具体配置内容,这里我们在配置集群的时候不能直接写127.0.0.1这样,这样分不清楚,所以我们需要知道具体的IP地址,我们可以通过:
ip a #查看具体ip	

image-20220321182422028

具体需修改内容,这里注意,我们在修改端口的时候一定要有一定的偏移量,因为Nacos2.0本身新增了占用端口,所以我们在设置端口号的时候注意要避开,不要占用端口,以下是官网截图:

image-20220321175516671

# 格式: ip地址:端口号
192.168.189.129:8848
192.168.189.129:8868
192.168.189.129:8888

5.3 启动三个阶段的Nacos测试

当上方配置完成之后,我们此时就可以启动三个节点的Nacos进行测试,启动方式和Win上区别不大:

  1. 但是要注意一点,因为我们要开放端口测试,所以我们在启动nacos之前,要进行关闭防火墙操作:
// 关闭防火墙服务-但是开启还会自动启动
systemctl stop firewalld
// 彻底关闭-开机不会启动防火墙
systemctl disable firewalld
  1. 启动三个nacos节点,分别进入到三个Nacos节点的bin目录中进行启动:

image-20220321180934633

sh startup.sh //启动命令
  1. 启动完成以后,我们可以分别看一下启动日志,防止启动出现问题,启动路径:

image-20220321181649453

  1. 这里我们可以通过cat命令或者tail -f命令
cat /home/msb/opt/nacos3/logs/start.out
tail -f /home/msb/opt/nacos3/logs/start.out

image-20220321181429986

  1. 通过浏览器分别访问三个阶段的Nacos,测试是否成功启动

在看到所有服务都启动成功之后,我们通过浏览器访问对应地址,就可以进入到对应节点的Nacos控制台上,然后我们可以查看集群管理,节点列表

image-20220321182820980

5.4 Nginx配置

  1. 我们需要找到Nginx的配置文件,然后做备份
cd /usr/local/nginx
cp nginx.conf nginx.conf.bk

image-20210929211042606

  1. 修改nginx.conf
worker_processes  1;

events {
    worker_connections  1024;
}

stream {
      upstream nacos {
        server 192.168.189.129:8848;
        server 192.168.189.129:8868;
        server 192.168.189.129:8888;
      }


     server {
        listen  81;
        proxy_pass nacos;
     }
}

6 测试启动

  1. 首先进入到Nginx目录下,启动Nginx,同时要带着我们设置过得配置文件启动
cd /usr/local/nginx/sbin
./nginx
  1. 通过访问Nginx来测试是否能够访问到Nacos,在win系统浏览器网址上输入:
http://192.168.189.129:81/nacos/

image-20210930150017223

  1. 使用账号密码nacos,nacos成功登录就表示此时已经完成全部配置

image-20210930153201511

6.1 添加配置

  1. 在Nacos平台上添加配置

image-20210930153148673

  1. 在数据库中检查是否有这一条配置,如果有表示成功添加

image-20210930153709605

6.2 配置微服务为Linux版Nacos集群并注册进Nacos

  1. 我们以9002为例,此时我们要修改application.yaml文件,把之前的Nacos端口换成Nacos集群
server:
  port: 9002
spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        # server-addr: localhost:8848
        # 换成nginx的81端口,做集群
        server-addr: http://192.168.189.129:81


management:
  endpoint:
    web:
      exponsure:
        include: '*'

  1. 配置完成启动服务,我们就可以在Naocs平台上看见对应的微服务了,此时表示服务注册成功

image-20210930155527834

7 总结

image-20220321185952218

资料来源:马士兵教育

0

评论区