微服务新秀之Nacos,看了就会,我说的( 二 )
配置中心将配置从各应用中剥离出来 , 对配置进行统一管理 , 应用自身不需要自己去管理配置
从图中我们总结流程如下:
- 用户在配置中心更新配置信息
- A 服务和 B 服务及时得到配置更新通知 , 从配置中心获取更新
文章插图- 步骤1中我们可以创建命名空间 , 命名空间(NameSpace)是用于隔离多个环境的(如开发、测试、生产) , 而每个应用在不同环境的同一配置(如数据库配置)的值是不一样的 。
- 步骤2中我们可以切换不同命名空间来发布不同配置 , 命名空间下类似 UUID 的一串便是每个命名空间的唯一ID 。
- 步骤3中我们可以点击发布配置 , 其中 DataId 和 group 是必填项
文章插图完成上面三个步骤后我们便可以看到生成了一条刚刚配置过的信息
获取配置然后我们在项目中便可读取配置中的内容 , 步骤如下:
- 步骤1
com.alibaba.nacos nacos-client1.1.3 - 步骤2
public static void main(String[] args) throws NacosException {//使用nacos client远程获取nacos服务上的配置信息//nacos server地址String serverAddr = "127.0.0.1:8848";//data idString dataId = "application-dev.properties";//groupString group = "DEFAULT_GROUP";//namespaceString namespace = "dfa1c276-69f7-47d6-9903-6850b9c248f7";Properties properties =new Properties();properties.put("serverAddr",serverAddr);properties.put("namespace",namespace);//获取配置ConfigService configService = NacosFactory.createConfigService(properties);// String dataId, String group, long timeoutMsString config = configService.getConfig(dataId, group, 5000);System.out.println(config);}/* OUTPUT:spring.datasource.mysql.driverClassName = com.mysql.cj.jdbc.Driver*/配置的管理模型如下图所示:
文章插图- 命名空间(NameSpace)
- 配置分组(Group)
- 配置集(DataId)
文章插图分布式配置在了解通过 Nacos 集中管理多个服务的配置之前 , 我们先大概了解下以下概念:
传统单体架构
文章插图所有功能模块打包到一起并放在一个 web 容器中运行 , 所有功能模块使用同一个数据库 。
推荐阅读
- 亚马逊终止托管服务:Parler网站下线
- Git服务器配置错误导致日产汽车源码在网上泄露
- 虾米音乐,下个月正式停止服务
- 虾米音乐播放器将于2月5日停止服务,今开启用户资产处理通道
- 服务|虾米音乐:2月5日关停3月5日后将无法登录
- 天猫精灵App全新升级,推出“精灵家”服务
- 快递员拒绝送货上门并大喊大叫!经济学者马光远吐槽德邦快递服务烂:流氓至此,坚决抵制
- 亚马逊宣布停止为Parler提供托管服务
- 亚马逊员工权益组织呼吁AWS拒绝为Parler提供托管服务
- 普渡机器人获最佳商用服务机器人奖
