Nacos配置管理最佳实践
Nacos一个最常用的功能就是配置中心,在具体使用时往往是多个团队,甚至整个公司的研发团队都使用同一个Nacos服务。那么使用时如何保证配置在各个团队之间的隔离,又能保证配置管理的便捷性?下面就来介绍一个我使用下来比较好的实践方式。
namespace的划分
namespace的划分需要根据具体的开发团队规模来。
对于一些比较小的公司,开发人员比较少,可能就分成几个小团队,每个团队各自完成自己的开发任务。
对于这种情况,namespace的划分比较简单,就是给每个开发团队各自分配自己的namespace,团队之间的配置互相隔离。
比如说,现在A公司有4个开发团队,分别叫做T1、T2、T3和T4。

然后需要将Nacos配置成需要认证登录。
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
给每个开发团队创建一个登录用户

给每个用户设置权限,只能访问自己团队的命名空间(下面的角色ROLE_T1,只能访问T1这个namespace)


经过上面的一系列配置之后,每个团队就只能访问自己的namespace了,起到了配置隔离的目的。
上面针对的是比较小的开发团队。那如果开发人员很多呢?比如说像一些大的公司会分成很多BU,每个BU下面会有自己的许多开发团队。针对这种情况,可以对每个BU进一步进行namespace划分,比如说将BU1下面的开发划分成T1、T2、T3,然后对每个团队的命名空间管理和上面的管理方案一致。

对于一些大的事业部,上面的这种划分方式其实是很“粗犷”的方式,其实更建议每个事业部维护自己的的Nacos服务,这样可以进行更加精细的划分。
groupId、dataId的分配
上面讲了namespace的划分。从上面的划分规则中,我们可以看出来其实我们是按照团队的维度来划分namespace的(官网上面介绍namespace的主要作用是用来划分租户的,但是这个租户是什么概念并没有具体说明,那就可以是团队、可以是BU、甚至是个人,我们这里以团队的维度来划分)。
那就引出一个问题了:当我们新增配置文件时,需要指定groupId和dataId。其中groupId从名字上看好像就是团队ID。那是不是说,在同一个namespace下的配置文件的groupid都设置成一个?我觉得这样不是一个好的实践方式。
我们团队是这样规划的。groupid取项目的名字,dataId取模块和环境的组合名字。
举个栗子:现在BU1-T1团队在同时开发两个项目:Project1和Project2,每个项目都是分多个模块的微服务项目,Project1下面有2个模块m1和m2,Project2下面分三个模块m1、m2和m3。
那么可以进行如下的配置:

好了,上面就是我在Nacos配置管理上面的实践。
Nacos配置管理最佳实践的更多相关文章
- Spring Cloud Alibaba 实战(十二) - Nacos配置管理
本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理 ...
- Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践
随着使用 Nacos 的企业越来越多,遇到的最频繁的两个问题就是:如何在我的生产环境正确的来使用 namespace 以及 endpoint.这篇文章主要就是针对这两个问题来聊聊使用 nacos 过程 ...
- 《开源安全运维平台OSSIM最佳实践》
<开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...
- 基于AWS的云服务架构最佳实践
ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...
- CocoaPods最佳实践探讨
近期在项目中首次使用了CocoaPods.从软件工程的角度来看,我对目前常见的CocoaPods使用方法有些意见,建议做一些改进.先说一下我建议的最佳实践,后面再分析为什么要这样做.并且希望大家根据自 ...
- Windows Azure 安全最佳实践 - 第 3 部分:确定安全框架
构建云应用程序时,安全始终是计划和执行Windows Azure的首要核心因素.第 1 部分提出安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能. ...
- [转]DevOps实战:百度持续交付体系与最佳实践大解密!
本文转自:http://dbaplus.cn/news-21-471-1.html “互联网+”时代,软件产品要想满足快速增长的用户需求,高效.快速的迭代转型必不可少,面对时刻发生改变的互联网及业务模 ...
- Spring Boot 16 条最佳实践
Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Sp ...
- (转)调优 DB2 UDB v8.1 及其数据库的最佳实践
原文:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0404mcarthur/index.html 简介 性能是 ...
随机推荐
- 远程调用RPC
一.简介 RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用. 本地调用,就好比你现在在家里,你要想洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以洗了.这就 ...
- pipeline脚本管理
目录 一.代码仓库 二.远程拉取 一.代码仓库 1.使用gitlab做pipeline脚本的存储,新建一个仓库 2.新建文件,把代码放进去 脚本名可以按照规律填写,环境_应用名_类型,例如:test_ ...
- Memcached 状态机分析
worker线程拿到了这个连接之后,就应该是分配给这个连接一个结构体,包括这个连接所有的状态,都写buf等,这个结构体就是conn,然后这个worker线程会在它自己的event_base加入对这个新 ...
- [BUUCTF]REVERSE——xor
xor 附件 步骤: 附件很小,直接用ida打开,根据检索得到的字符串,找到程序关键函数 程序很简单,一开始让我们输入一个长度为33的字符串给v6,然后v6从第二个字符开始与前一个字符做异或运算,得到 ...
- 可视报表(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 原来一直有一个执念,做项目的人电脑上一定要安装Project软件,今天突然知道了,原来领导的电脑上,可以不装,因为,Pro ...
- CF1291A Even But Not Even 题解
Content 有 \(t\) 组数据,每组数据给定一个整数 \(n\),接着给出一个长度为 \(n\) 的数字串.请从中删除一些数,使得剩下的数字串不是偶数,但是其和为偶数,或者不存在这样的方案. ...
- JAVA获取当前日期指定月份后(多少个月后)的日期
环境要求:使用jdk1.8 package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; ...
- Flex布局的详细总结
Flex布局的详细总结 1.认识flex布局 flex布局(flexible布局,弹性布局),是目前web开发中使用的最多的布局方案. 两个重要概念: 开启flex布局的元素叫flex contain ...
- 【LeetCode】332. Reconstruct Itinerary 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 后序遍历 相似题目 参考资料 日期 题目地址:htt ...
- Monkey工具之fastbot-iOS实践
Monkey工具之fastbot-iOS实践 背景 目前移动端App上线后 crash 率比较高, 尤其在iOS端.我们需要一款Monkey工具测试App的稳定性,更早的发现crash问题并修复. 去 ...