多环境的配置隔离是配置中心最基础的一个功能之一。不同的环境配置的值不一样,比如数据库的信息,业务的配置等。

Spring Boot 多环境配置

首先我们来回顾下在Spring Boot中用配置文件的方式怎么进行环境的隔离。

默认我们都会创建一个application.properties配置文件,这个文件是不区分环境的,通用。

为了区分环境我们可以为每个环境创建一个配置文件,比如;

  • 开发环境

    application-dev.properties
  • 测试环境

    application-test.properties

在项目部署的时候可以通过 spring.profiles.active=dev 来激活开发环境的配置,通过 spring.profiles.active=test 来激活测试环境的配置。

Apollo 多环境配置

既然讲到配置中心,那么我会已目前已经比较成熟的Apollo来进行一个对比,把一些相同的或者不同的点都分析出来,这样大家在选型的时候也能有个参考。

Apollo的多环境配置是在搭建的时候需要制定好目前支持多少个环境,每个环境下可以分不同的集群,集群这个是可以动态创建的。

选择不同的环境,进行配置的操作,改动的就是这个环境下的配置。

在客户端接入的时候,通过指定env来获取对应环境下的配置,还有一点就是Apollo中每个环境的配置都是用DB来隔离的,每个环境都有自己的一个ConfigDB。

Nacos 多环境配置

Namespace用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

以上是官方对Nacos Namespace的介绍,如果用过Apollo的同学应该知道,在Apollo中的Namespace是配置文件的概念,跟Nacos的概念定义相差太大了。

而Nacos中配置文件的定义则是Data ID,在学任何一个框架的时候,首先要搞懂的就是它本身的一些概念。

在Nacos中要实现多环境的隔离,也就是说我们需要创建多个Namespace。

Nacos的最后一个菜单,名称为:命名空间,点进去我们可以看到下面的列表,可以去创建你想要的空间:

public是默认的,我们创建了一个dev环境,这个时候会生成一条数据,我们需要关注的是命名空间ID,为了防止命名空间名称冲突,在保存后会自动生成一个ID,项目中在指定当前环境的时候需要传空间ID,而不是空间名称。

创建空间后,在配置列表的页面上边我们可以选择不同的空间来进行切换。然后在对应的空间下创建配置。

最后在我们的项目中,我们是以Spring Boot来进行讲解的,就在application.properties中指定当前项目的空间值即可:

nacos.config.namespace=334139e6-d700-4a7b-ae0d-5ae30abd94a8

最好的方式是在部署的时候,通过参数传递,如果你直接写在项目中,那么上线的时候是不是还得修改这个namespace为线上的namespace id。

Apollo在这块是这样设计的,环境可以配置在磁盘中的配置文件中,就相当于一台机器配置一个环境,那么这台机器上的应用就都是这个环境了,环境跟着机器走,不跟项目走。

阿里Nacos-配置-多环境的更多相关文章

  1. 阿里云配置php环境 ubuntu12.04 32 nginx+php5+mysql

    最近几个客户都订购了阿里云服务器,如何配置服务器就比较重要了 比较喜欢ubuntu的系统,这里以12.04 32位来说 服务器配置采用 nginx+php5+mysql 首先是apt-get的更新 a ...

  2. Nacos集群环境的搭建与配置

    Nacos集群环境的搭建与配置 集群搭建 一.环境: 服务器环境:CENTOS-7.4-64位 三台服务器IP:192.168.102.57:8848,192.168.102.59:8848,192. ...

  3. 阿里云服务器(ECS)从购买到配置NodeJS环境

    本人入门级前端,对服务器不熟悉,这是自己摸索的过程,可能会有错误! 1.购买 阿里云服务器有个活动是新用户前六个月可以免费试用,但是每天早上发放一定的名额,但为了方便,我买了18RMB的捆绑套餐,也是 ...

  4. LNMP笔记:阿里云32位 CentOS 5.4 配置 LNMP环境

    最近比较郁闷的是 WordPress大学 服务器故障,由于诸多原因没及时处理,导致10多天无法访问.倡萌也是刚接触服务器环境配置,维护的确力不从心,没办法排查出错误根源,所以只好重置系统盘,重新配置L ...

  5. 【Nacos】Springboot整合Nacos配置中心(二) 多环境配置

    本篇随笔接上一篇文章:Springboot整合Nacos配置中心(一),主要记录Nacos多环境的配置的方法 Nacos多环境的配置 方法一: 1.在项目中的bootstrap.yaml文件中配置激活 ...

  6. 在阿里云的CentOS环境中安装配置MySQL、JDK、Maven

    Welcome to Alibaba Cloud Elastic Compute Service ! [root@izbp19stm1x1k2io1e7r3tz ~]# rpm -Uvh http:/ ...

  7. Spring Cloud Config、Apollo、Nacos配置中心选型及对比

    Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...

  8. Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富- 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服 ...

  9. nacos配置中心模块详解

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 配置中心 业务上的配置,功能开关,服务治理上对弱依赖的降级,甚至数据库的密码等,都可能用到动态 ...

  10. CentOS7配置Nodejs环境安装记录

    今天购买了阿里云服务器,系统选的是CentOS7,下面记录下在它上面安装Nodejs环境的过程,本次操作是直接连接的阿里云服务器的管理终端. 1.由于是纯净的环境,先通过以下命令安装nodejs编译及 ...

随机推荐

  1. Android TitleBar推荐

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/206 Android TitleBar推荐 这段时间在帮别 ...

  2. 速查TARGET_OS关系/Apple xcode 宏定义

    记法 : 次级等于上级 TARGET_OS_WIN32 - Generated code will run under 32-bit Windows TARGET_OS_UNIX - Generate ...

  3. C# SendAysnc 超时

      业务方法 @@@code public override async Task<List<(IPEndPoint endPoint, byte[] data)>> Send ...

  4. Cesium 加载 gltf 模型

    var viewer = new Cesium.Viewer('cesiumContainer', { /*帮助*/ navigationHelpButton: true, baseLayerPick ...

  5. python 基础学习笔记(6)--函数(1)

    ## **函数(1)** **函数的定义:** 1. [ ] 小时候大家应该都玩过乐高积木,只要通过想象和创意,可以用它怕拼凑出很多神奇的东西.随着学习的深入,编写的代码日益增加并且越来越复杂,所以需 ...

  6. pycharm连接远程python的开发环境

    一.准备工作 1.远程主机配置python的开发环境(pyenv) 2.本地windowsp安装pycharm 二.配置pycharm连接 配置运行环境:

  7. zabbix通过agent监控linux主机

    前言: 前几篇博客分别介绍了通过snmp来进行监控linux主机与windows主机,本篇介绍通过agent客户端来进行系统监控. 环境: server:192.168.249.142 client: ...

  8. 【docker部署】基于linux的centos操作系统部署安装docker容器

    一.docker介绍 容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都 ...

  9. 如何获得大学教材的PDF版本?

    最近急需一本算法书的配套答案,这本配套单独出售,好像在市面上还买不到,在淘宝上搜索也只是上一个版本,并没有最新版本,让我很无奈.加上平时肯定会有这么一种情况,想看一些书,但买回来也看不了几次,加上计算 ...

  10. three.js实现土星绕太阳体系

    概况如下: 1.SphereGeometry实现自转的太阳,土星: 2.RingGeometry实现土星公转轨道: 3.ImageUtils加载球体贴图: 4.canvas中createRadialG ...