Nacos介绍及简单操作

一、Nacos 简介

  • Nacos = 服务注册中心 + 服务配置中心
  • Nacos = Eureka + Spring Cloud Config + Spring Cloud Bus
  • Nacos,Dynamic Naming and Configuration Service,动态的命名与配置服务。
  • 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

二、nacos应用的目录

image

conf目录存放配置文件:

image

bin目录下存放启动命令:

image

其中 cmd 是 Windows系统中的命令,sh是Linux系统中的命令。直接双击startup.cmd即可运行,并马上可以看到如下内容。

三、使用Nacos

1、添加依赖

添加 spring cloud 依赖管理及依赖

image

添加 spring cloud alibaba 依赖管理及依赖

image

添加 Nacos Discovery 依赖

image

2、修改配置文件

添加如下配置,指定 nacos server 的地址及微服务名称。

image

四、Nacos Config 服务配置中心

集群中每一台主机的配置文件都是相同的,对配置文件的更新维护就成为了一个棘手的问题,Nacos 是可以对 Spring Cloud 中各个微服务配置文件进行统一维护管理的配置中心。

1、Spring Cloud Config 工作原理

image

2、Nacos Config 工作原理

image

3、对比

Nacos config 比 Spring Cloud Config的用户体验更好,系统效率更高。主要表现在这么几
方面:

  • Nacos Config 无需消息总结系统。系统搭建成本、系统复杂度较 Spring Cloud Config 低很多。
  • Nacos Config 采用长连接轮询 Pull 模型。
  • Nacos Config 不存在羊群效应。
4、基本用法

所谓基本用法,就是 Nacos Config Server 直接管理 Nacos Config Client 的配置文件。

5、长轮询机制 Pull 模型

Nacos Config Server 中配置数据的变更,Nacos Config Client 是如何知道的呢?Nacos 采用的是长轮询机制的 Pull 模型。

长轮询的 Pull 模型整合了 Push 与 Pull 模型的优势。Client 仍定时发起 Pull 请求,查看
Server 端数据是否更新。若发生了更新,则 Server 立即将更新数据以响应的形式发送给 Client
端;若没有发生更新,Server 端并不立即向 Client 返回响应,而是临时性的保持住这个连接一段时间。若在此时间段内,Server 端数据发生了变更,则立即将变更数据返回给 Client。若仍未发生变更,则放弃这个连接。等待着下一次 Client 的 Pull 请求。

长轮询 Pull 模型,是 Push 与 Pull 模型的整合,既降低了 Push 模型中长时间占用长连接
的问题,又降低了 Push 模型实时性较低的问题。

五、多环境选择的实现

image

六、将数据持久到到外置 MySQL

默认情况下,Nacos 中的配置数据是被持久到到内置的 MySQL 数据库中的,注意,服务注册与发现中的数据没有写在这个 MySQL 数据库中。使用内置数据库,存在很多明显问题。所以,生产环境下,Nacos 一般会连接外置的 MySQL。当然,目前 Nacos 仅支持 MySQL,并且要求是 5.6.5 及其以上版本。

1、查找 SQL 脚本文件

若要连接外置 MySQL,则外置 MySQL 中就要有相应的数据库及表。这些表的创建语句
Nacos 官方已经给出了 SQL 的脚本文件,在 Nacos 解压目录的 config 子目录中。

image

为了方便后面对这个脚本文件的执行,在该文件中添加如下的 DB 创建语句。

image

2、连接数据库运行脚本
3、修改 Nacos 配置

打开 Nacos 安装目录下的 conf/application.properties 文件,把用于注释的#去掉,输入相对应的数据库连接信息

七、Nacos 集群搭建

无论是 Nacos Discovery 还是 Nacos Config,单机版 Nacos 都存在单点问题。所以需要搭建高可用的 Nacos 集群。

比如搭建三台Nacos

1、修改配置并复制目录

首先随意创建一个目录,用于存放三个 Nacos 服务器。例如在 D 盘创建一个 nacos_cluster
目录。然后再复制原来配置好的单机版的 Nacos 到这个目录,并重命名为nacos8847。将来要这里要存放三个子目录,分别为 nacos8847、nacos8848、nacos8849。

image

打开 nacos8847/conf,重命名其中的 cluster.conf.example 为 cluster.conf。然后打开该文件,在其中写入三个 nacos 的 ip:port。

image

然后再打开 nacos8847/conf/application.properties 文件,修改端口号为 8847。

image

然后再将 nacos8847 目录复制三份,分别命名为 nacos8848、nacos8849。并重新指定端口号分别为 8848 与 8849。

可以通过命令行方式进行启动。

image

Client 连接 Nacos 集群

直接将 03-provider-nacos-config-refresh-8081 的 bootstrap.yml 中的 nacos config 地址更换为 Nacos 集群地址即可。

image

当然,也可以将 Nacos 配置中心中存放的 Nacos Discovery 的地址更换为 Nacos 集群。这样也就实现了 Nacos 注册中心的高可用。

image

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Insane阿庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值