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 简介 性能是 ...
随机推荐
- 【C#】【MySQL】C#连接MySQL数据库(二)解析
C# MySQL 实现简单登录验证 后端代码解析 Visual Studio中使用MySQL的环境配置 下文所有到的代码(前端后端) 请查阅这篇博文 C#连接MySQL数据库(一)代码 获取前端数据 ...
- .net 5 开发部署B/S程序。
现在.net 6 已经出来了,visualStudio 2022也发行预览版了. 自 .net5 发布,.net core 与.net framework 已经走向统一.确实越来越好用了. 现在.ne ...
- Java中的循环结构(二)
循环结构(二) 学习本章有道的单词: rate:速度,比率 young:年轻的,年少 schedule:时间表,调度 neggtive:消极的;否定 customer:顾客,观众 birthday:生 ...
- java多线程5:线程间的通信
在多线程系统中,彼此之间的通信协作非常重要,下面来聊聊线程间通信的几种方式. wait/notify 想像一个场景,A.B两个线程操作一个共享List对象,A对List进行add操作,B线程等待Lis ...
- <转>git,github在windows上的搭建
http://www.cnblogs.com/yixiaoyang/archive/2012/01/06/2314190.html Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到Gi ...
- windows10 安装 Mysql8.0
目录 1.Mysql8.0下载 2.配置环境变量 3.在安装目录下创建my.ini文件 4 初始化Mysql 5 安装至系统服务 6 更改密码 1.Mysql8.0下载 2.配置环境变量 将下载后文件 ...
- 资源分配(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 资源设置好以后,不能光摆着看,分配到各任务中去才是正道. 分配资源就需要回到与任务相关的视图了,比如[任务工作表]视图或者 ...
- C语言程序设计:二分查找(折半查找)
目录 C语言程序设计:二分查找(折半查找) 1.什么是二分查找 2.二分查找的优点 3.二分查找的缺点 4.二分查找原理 5.源代码实现 6.后话 C语言程序设计:二分查找(折半查找) 1.什么是二分 ...
- JAVA日记之mybatis-3一对一,一对多,多对多xml与注解配置
1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的 ...
- BZOJ 题目乱做
记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...