700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 15.SpringCloud Alibaba Nacos服务注册和配置中心

15.SpringCloud Alibaba Nacos服务注册和配置中心

时间:2021-05-11 07:14:23

相关推荐

15.SpringCloud Alibaba Nacos服务注册和配置中心

文章目录

1 Nacos简介2 安装并运行Nacos3 Nacos作为服务注册中心演示4 Nacos作为服务配置中心演示4.1 Nacos作为配置中心 - 基础配置4.2 Nacos作为配置中心 - 分类配置 5 Nacos集群和持久化配置(重要)5.1 官网说明5.2 Nacos持久化配置解释5.3 Linux版Nacos+MySQL生产环境配置5.3.1 准备5.3.2 Nacos下载Linux版5.3.3 集群配置步骤(重点)5.3.4 测试5.3.5 高可用小总结

1 Nacos简介

为什么叫 Nacos

前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service

是什么

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos:Dynamic Naming and Configuration ServiceNacos就是注册中心 + 配置中心的组合

Nacos = Eureka + Config + Bus

能干嘛

替代Eureka做服务注册中心替代Config做服务配置中心

去哪下

/alibaba/Nacos

官网文档

https://nacos.io/zh-cn/index.html

https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_discovery

各注册中心比较

2 安装并运行Nacos

1.本地Java8 + Maven 环境已经OK

2.先从官网上下载 Nacos

/alibaba/nacos/releases

3.解压安装包,直接运行 bin 目录下的 startup.cmd

4.命令运行成功后直接访问 http://localhost:8848/nacos

默认账户密码都是 nacos

5.结果页面

3 Nacos作为服务注册中心演示

1.官网文档

https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html

2.基于Nacos的服务提供者

新建Module cloudalibaba-provider-payment9001

POM

父POM

本模块POM

YML

主启动

业务类

测试

http://localhost:9001/payment/nacos/1

nacos控制台

nacos服务注册中心 + 服务提供者9001都OK了

为了下一章节演示nacos的负载均衡,参照9001新建9002

新建cloudalibaba-provider-payment90029002其它步骤你懂得或者取巧不想新建重复体力劳动,直接拷贝虚拟端口映射

3.基于Nacos的服务消费者

新建Module cloudalibaba-consumer-nacos-order83

POM

为什么nacos支持负载均衡

YML

主启动

业务类

测试

nacos控制台

http://localhost:83/consumer/payment/nacos/13

83访问9001/9002,轮询负载OK

4.服务注册中心对比

各种注册中心对比

Nacos全景图所示

Nacos和CAP

切换

Nacos支持AP和CP模式的切换

4 Nacos作为服务配置中心演示

4.1 Nacos作为配置中心 - 基础配置

1.cloudalibaba-config-nacos-client3377

2.POM

3.YML

why配置两个YML

bootstrap

application

4.主启动

5.业务类

ConfigClientController

@RefreshScope

通过Spring Cloud原生注解@RefreshScope实现配置自动更新

6.在Nacos中添加配置信息

Nacos中的匹配规则

理论 Nacos中的dataid的组成格式及与SpringBoot配置文件中的匹配规则官网

实操

配置新增

Nacos界面配置对应

设置DataId

历史配置

7.测试

启动前需要在nacos客户端-配置管理-配置管理栏目下有对应的yaml配置文件运行cloud-config-nacos-client3377的主启动类调用接口查看配置信息 http://localhost:3377/config/info

8.自带动态刷新

修改下Nacos中的 yaml配置文件,再次调用查看配置的接口,就会发现配置已经刷新

4.2 Nacos作为配置中心 - 分类配置

1.问题 多环境多项目管理

2.Nacos的图形化管理界面

配置管理

命名空间

3.Namespace + Group + DataId三者关系?为什么这么设计?

4.Case

三种方案加载配置

DataID方案 指定spring.profile.active和配置文件的DataID来使不同环境下读取不同的配置默认空间 + 默认分组 + 新建dev和test两个DataID

新建 dev 配置 DataID

新建 test 配置 DataID

通过spring.profile.active属性就能进行多环境下配置文件的读取

测试

http://localhost:3377/config/info

配置是什么就加载什么 test Group 方案

通过Group实现环境区分

在nacos图形界面控制台上面新建配置文件DataID

bootstrap + application

在config下增加一条group的配置即可。可配置为DEV_GROUP或TEST_GROUP

Namespace方案

新建 dev/test 的Namespace

回到服务管理-服务列表查看

按照域名配置填写

YML

5 Nacos集群和持久化配置(重要)

5.1 官网说明

https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

官网结构图

上图官网翻译,真实情况

说明

官网说明:https://nacos.io/zh-cn/docs/deployment.html

重点说明:

5.2 Nacos持久化配置解释

Nacos默认自带的是嵌入式数据库 derby

/alibaba/nacos/blob/develop/config/pom.xml

derby到mysql切换配置步骤

nacos-server-1.1.4\nacos\conf目录下找到sql脚本

1.nacos-mysql.sql

2.执行脚本nacos-server-1.1.4\nacos\conf目录下找到application.properties

启动Nacos,可以看到是个全新的空记录界面,以前是记录进derby

5.3 Linux版Nacos+MySQL生产环境配置

5.3.1 准备

预计需要,1个Nginx + 3个nacos注册中心 + 1个mysql

5.3.2 Nacos下载Linux版

/alibaba/nacos/releases/tag/1.1.4nacos-server-1.1.4.tar.gz解压后安装

5.3.3 集群配置步骤(重点)

1.Linux服务器上mysql数据库配置

sql 脚本在哪里

sql语句源文件

nacos-mysql.sql自己Linux机器上的Mysal数据库粘贴

2.application.properties配置

位置

内容

3.Linux服务器上nacos的集群配置 cluster.conf

梳理出3台nacos机器的不同服务端口号复制出cluster.conf

内容

这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的ip

4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口

/mynacos/nacos/bin目录下有startup.sh在什么地方,修改什么,怎么修改思考

修改内容

执行方式

5.Nginx的配置,由它作为负载均衡器

修改nginx的配置文件

nginx.conf

按照指定启动

6.截止到此处,1个Nginx+3个nacos注册中+1个mysql

测试通过 nginx 访问 nacos

http://192.168.111.144:1111/nacos/#/login

新建一个配置测试

linux服务器的mysql插入一条记录

5.3.4 测试

微服务 cloudalibaba-provider-payment9002启动注册进 nacos 集群

yml

结果

5.3.5 高可用小总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。