Nacos介绍及简单操作

一、Nacos 简介

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

二、nacos应用的目录

Nacos介绍及简单操作_第1张图片

conf目录存放配置文件:

Nacos介绍及简单操作_第2张图片

bin目录下存放启动命令:

Nacos介绍及简单操作_第3张图片

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

三、使用Nacos

1、添加依赖

添加 spring cloud 依赖管理及依赖

Nacos介绍及简单操作_第4张图片

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

Nacos介绍及简单操作_第5张图片

添加 Nacos Discovery 依赖

Nacos介绍及简单操作_第6张图片

2、修改配置文件

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

Nacos介绍及简单操作_第7张图片

四、Nacos Config 服务配置中心

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

1、Spring Cloud Config 工作原理

Nacos介绍及简单操作_第8张图片

2、Nacos Config 工作原理

Nacos介绍及简单操作_第9张图片

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 模型实时性较低的问题。

五、多环境选择的实现

Nacos介绍及简单操作_第10张图片

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

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

1、查找 SQL 脚本文件

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

Nacos介绍及简单操作_第11张图片

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

Nacos介绍及简单操作_第12张图片

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。

Nacos介绍及简单操作_第13张图片

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

Nacos介绍及简单操作_第14张图片

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

Nacos介绍及简单操作_第15张图片

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

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

Nacos介绍及简单操作_第16张图片

Client 连接 Nacos 集群

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

Nacos介绍及简单操作_第17张图片

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

Nacos介绍及简单操作_第18张图片

你可能感兴趣的:(学习笔记)