微服务新秀之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提供托管服务
- 亚马逊员工权益组织呼吁AWS拒绝为Parler提供托管服务
- 普渡机器人获最佳商用服务机器人奖
- 「央广网评」扫码点餐 技术进步不能脱离人性化服务
- 尼康发布服务公告:将不再为镜头及配件提供全球联保服务
- 分析师预测苹果新服务可能包括播客+股票+和 邮件+
- 企业|技术快速迭代倒逼知识产权“贴身”服务,上海首家AI商标品牌指导站入驻徐汇西岸
- 虾米音乐正式关停:成立12年错失很多机会,将转型商业场景服务
- 阳狮报告:4成受访者认为自己的数据比免费服务更有价值
- 苹果服务收入大增 反垄断将成为最大挑战