前言
本文主要从以下几点来带大家熟悉下 Nacos 多环境下配置管理和服务隔离
- Nacos 的 Namespace 是什么
- 业务现状与痛点
- 环境隔离方案介绍
- 配置同步管理方案
Nacos 的 Namespace 是什么
Nacos是现阶段比较流行的微服务配置中心
和注册中心
服务组件,其引入了命名空间(Namespace)的概念来进行多环境下配置管理和服务隔离。在团队中每个成员也可以共用一个Nacos服务,通过开辟个人的Namespace空间的方式,达到共享nacos资源。
业务现状与痛点
- 每个开发人员本地搭建Nacos,环境不统一不便管理。
解决方案:搭建共享Nacos通过Namespace对开发人员进行环境隔离。
- 开发环境、测试环境、生产环境有各自的Nacos,修改配置时要挨个手动修改,很不方便。
解决方案:构建gitlab流水线通过脚本调用NacosAPI进行配置同步
- 目前配置文件为json格式,修改后无法判断语法是否正确,配置修改完成后缺乏对服务健康状态的判断
解决方案:通过python -m json.tool
进行语法校验,通过调用服务接口根据返回值进行健康状态检测。
下面我们就来一步步解决这些痛点
环境隔离方案介绍
解决这些痛点前首先需要了解一下环境隔离方案。
- Nacos推荐的面向多租户的方案如下:
从多个租户的角度来看,每个租户可能会有自己的 namespace,每个租户的配置数据以及注册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。
例如分配了三个租户,分别为张三、李四和王五。张三负责A项目,李四负责B项目,王五负责C项目
分配好了之后,各租户用自己的账户名和密码登录后,创建自己的命名空间。如下图所示: