基于MSE-Nacos实现服务的动态发现和配置动态管理
本文介绍将应用通过云服务器ECS(Elastic Compute Service)接入到微服务引擎MSE(Microservices Engine)的Nacos引擎上,并使用 MSE Nacos 引擎进行服务的动态发现和配置动态管理。
步骤一:创建ECS实例
在ecs控制台上创建ecs,相关参数如下。
实例选择 | 公共镜像CentOs 7.9 64位。 |
网络及可用区 | ECS和注册配置MSE Nacos/ZooKeeper资源在同一个VPC下。 |
公网IP | 选中分配公网IPV4地址。 |
其余参数 | 其他参数保持默认。 |
步骤二:创建注册配置MSE Nacos/ZooKeeper
在注册配置中心>实例列表,创建实例页面,配置如下:
地域 | 华东1(杭州)。本文以华东1(杭州)为例,需要ECS和注册配置MSE Nacos/ZooKeeper资源在同一地域下。 |
产品版本 | 专业版 |
引擎类型 | Nacos |
网络类型 | 专有网络 |
专有网络 | 选择与ECS实例同一专有网络下。 |
交换机 | 选择与ECS实例同一交换机。 |
步骤三:安装JDK
登录ECS服务器,在终端通过如下命令安装jdk,安装成功之后查看Java版本。
# 安装jdk
yum install -y java-1.8.0-openjdk-devel# 查看当前Java版本
java -version
步骤四:部署demo服务
- 在微服务引擎MSE控制台,在注册中心页面,查看实际的内网地址(启动demo服务的时候要用)。
- 在终端执行命令,下载并安装demo服务,然后启动demo服务(需要替换真实的内网地址)。
执行命令的过程如下图:# 下载并安装demo服务 cd ~ && curl -OL https://mse-demo.oss-cn-beijing.aliyuncs.com/free-tier-demo.tar.gz && tar -zxvf free-tier-demo.tar.gz && cd free-tier-demo# 启动demo服务,您需要将${mse.nacos.address}替换为注册配置中心实例的内网地址。 bin/start-demo.sh -e ${mse.nacos.address} # 如 bin/start-demo.sh -e mse-3a7bxxxx-nacos-ans.mse.aliyuncs.com
步骤五:查看demo服务
- 在终端执行如下命令,在father服务中查看信息:
服务返回如下信息:curl localhost:18084/kid/info
- 在MSE控制台上查看。
步骤六:为father服务添加配置
1、在终端执行如下命令,查看father服务的name信息:
curl localhost:18084/name
2、登录微服务引擎MSE控制台,在配置列表,单击father.properties,进入到创建配置页面。
3、在创建配置页面,参考下图,左边配置Data ID和Group,在右边的配置内容框中设置father服务的名称,比如,本文配置为:father.name=mse-nacos-test,最后单击发布。
4、在微服务引擎MSE控制台为father设置了name之后,执行curl localhost:18084/name命令,发现配置已经生效。
步骤七:为kid服务添加配置
1、执行如下命令,查看kid服务的message。
curl localhost:18084/kid/message
2、登录微服务引擎MSE控制台,参考下图,为kid服务添加两条配置,分别设置info和message,然后单击发布。
3、发布成功之后,执行curl localhost:18084/kid/message命令,查看message为Hello,Good Afternoon。
4、执行curl localhost:18084/kid/info,查看name为mes-nacos-kid-test。
步骤八:为father或者kid服务修改配置
在father.properties或者kid.properties的编辑配置面板中,修改配置内容中的${自定义名字}或${自定义信息}内容,修改完成后单击发布。
在终端执行curl localhost:18084/name、curl localhost:18084/kid/info或curl localhost:18084/kid/message命令,您即可看到内容变为新设置的值。