conf目录存放配置文件:
bin目录下存放启动命令:
其中 cmd 是 Windows系统中的命令,sh是Linux系统中的命令。直接双击startup.cmd即可运行,并马上可以看到如下内容。
1、添加依赖
添加 spring cloud 依赖管理及依赖
添加 spring cloud alibaba 依赖管理及依赖
添加 Nacos Discovery 依赖
2、修改配置文件
添加如下配置,指定 nacos server 的地址及微服务名称。
集群中每一台主机的配置文件都是相同的,对配置文件的更新维护就成为了一个棘手的问题,Nacos 是可以对 Spring Cloud 中各个微服务配置文件进行统一维护管理的配置中心。
Nacos config 比 Spring Cloud Config的用户体验更好,系统效率更高。主要表现在这么几
方面:
所谓基本用法,就是 Nacos Config Server 直接管理 Nacos Config Client 的配置文件。
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 中的配置数据是被持久到到内置的 MySQL 数据库中的,注意,服务注册与发现中的数据没有写在这个 MySQL 数据库中。使用内置数据库,存在很多明显问题。所以,生产环境下,Nacos 一般会连接外置的 MySQL。当然,目前 Nacos 仅支持 MySQL,并且要求是 5.6.5 及其以上版本。
若要连接外置 MySQL,则外置 MySQL 中就要有相应的数据库及表。这些表的创建语句
Nacos 官方已经给出了 SQL 的脚本文件,在 Nacos 解压目录的 config 子目录中。
为了方便后面对这个脚本文件的执行,在该文件中添加如下的 DB 创建语句。
打开 Nacos 安装目录下的 conf/application.properties 文件,把用于注释的#去掉,输入相对应的数据库连接信息
无论是 Nacos Discovery 还是 Nacos Config,单机版 Nacos 都存在单点问题。所以需要搭建高可用的 Nacos 集群。
比如搭建三台Nacos
1、修改配置并复制目录
首先随意创建一个目录,用于存放三个 Nacos 服务器。例如在 D 盘创建一个 nacos_cluster
目录。然后再复制原来配置好的单机版的 Nacos 到这个目录,并重命名为nacos8847。将来要这里要存放三个子目录,分别为 nacos8847、nacos8848、nacos8849。
打开 nacos8847/conf,重命名其中的 cluster.conf.example 为 cluster.conf。然后打开该文件,在其中写入三个 nacos 的 ip:port。
然后再打开 nacos8847/conf/application.properties 文件,修改端口号为 8847。
然后再将 nacos8847 目录复制三份,分别命名为 nacos8848、nacos8849。并重新指定端口号分别为 8848 与 8849。
可以通过命令行方式进行启动。
Client 连接 Nacos 集群
直接将 03-provider-nacos-config-refresh-8081 的 bootstrap.yml 中的 nacos config 地址更换为 Nacos 集群地址即可。
当然,也可以将 Nacos 配置中心中存放的 Nacos Discovery 的地址更换为 Nacos 集群。这样也就实现了 Nacos 注册中心的高可用。