阿里nacos-配置-多环境(代码片段)

author author     2022-12-09     431

关键词:

技术图片

多环境的配置隔离是配置中心最基础的一个功能之一。

不同的环境配置的值不一样,比如数据库的信息,业务的配置等。

Sping 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高可用集群部署(代码片段)

目录简介环境准备架构说明版本服务器配置信息MySQL主主1.预备环境准备2.JDK1.8+环境配置3.Maven3.2.x+环境配置4.MySQL57yum仓库安装5.MySQL57主主配置5.1主库5.2从库6配置代理转发6.1MySQL代理6.2Nacos负载均衡7.获取Nacos安装包并安装部署7.1获... 查看详情

如何实现根据环境切换不同配置?(代码片段)

首发于公众号:BiggerBoy前言在企业开发中,系统的配置信息往往会分不同的环境,如开发环境、测试环境、生产环境。当我们使用nacos作为配置中心时,一定会遇到的问题就是在应用中配置nacos的server-addr时测试环境的nacos地址和... 查看详情

nacos全面解析(代码片段)

...新6.共享/扩展配置7.灰度发布一.Nacos概要1.Nacos简介Nacos是阿里巴巴开源的一款支持 服务注册与发现、配置管理、服务管理 的组件。取代以前常用的注册中心(zookeeper,eureka等等),以及配置中心(springcloudconfig等... 查看详情

阿里云配置中心nacos单机使用mysql作为数据源配置方法(代码片段)

Nacos数据持久化:修改Nacos的数据持久化配置为MySQL存储。默认情况下,Nacos使用嵌入式数据库CMDB实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中... 查看详情

阿里开源服务发现组件nacos快速入门(代码片段)

...性。针对云原生,云厂商也纷纷提出了自己的解决方案,阿里巴巴开源的Nacos就是其中之一,Nacos同时集成到了SpringCloudAlibaba中,作为一个整体的解决方案。Nacos解决两个核心问题:动态配置管理,服务注册发现。一、Nacos支持功... 查看详情

配置nacos注册中心(代码片段)

...品服务注册到Nacos3.将订单服务注册到Nacos总结内容微服务配置请看我的上篇博客:微服务环境搭建一、什么是服务治理  服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。  服务... 查看详情

nacos帮我们解决什么问题?(配置管理篇)(代码片段)

摘要:Nacos是阿里巴巴今年7月份开源的项目,如其名,NamingConfigurationService,专注于服务发现和配置管理领域。本系列文章,将从5W1H(What、Where、When、Who、Why、How)全面剖析Nacos,给大家安利一下Nacos。Nacos是阿里巴巴今年7月份... 查看详情

nacos:服务注册及配置中心(代码片段)

...s:服务注册及配置中心一、Nacos简介1.Nacos简介​Nacos是由阿里巴巴提供的一款专门构建云本地应用的动态服务发现、配置中心和服务管理平台。在SpringCloudAlibaba中常使用Nacos作为注册中心和分布式配置中心。​Nacos官网地址:https... 查看详情

史上最全springcloudalibaba入门教程,从零开始带你深入♂学习——nacos组件:环境配置(代码片段)

SpringCloudAlibaba(二)——Nacos组件:环境配置Nacos组件简介Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理Nacos就是微服... 查看详情

nacos配置外置mysql连接(window10环境)(代码片段)

...录一、Nacos使用外部MySQL的概述二、Nacos使用外部MySQL存储配置数据的操作步骤2.1、第一步(安装MySQL5.7,并下载nacos安装包)2.2、第二步(创建nacos_config数据库)2.3、第三步(修改配置文件)2.4、第四步(... 查看详情

※spring全家桶从入门到x神--快学阿里巴巴的nacos注册中心(代码片段)

...服务配置namespace6.Nacos与Eureka的区别国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。1.认识和安装NacosNacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比E... 查看详情

nacos概念介绍配置模型(代码片段)

概念介绍配置集(ConfigurationSet)⼀个配置文件就是⼀个配置集。新建配置集路径:配置管理-配置列表-添加按钮命名空间(Namespace)用于配置文件隔离,例如:区分不同租户,开发环境、生产环境... 查看详情

nacos2.x.x在centos7环境配置及安装(代码片段)

一、环境准备1.jdk1.8.X安装及配置Linux安装JDK完整步骤2.mysql安装及配置2.1mysql 下载CentOS7下mysql-5.7.24安装示例 2.2如何失效 到mysql社区下载自己对应的版本mysql社区二.centos7环境下安装及配置1.下载nacos1.1安装包下载地址链接:ht... 查看详情

nacos2.x.x在centos7环境配置及安装(代码片段)

一、环境准备1.jdk1.8.X安装及配置Linux安装JDK完整步骤2.mysql安装及配置2.1mysql 下载CentOS7下mysql-5.7.24安装示例 2.2如何失效 到mysql社区下载自己对应的版本mysql社区二.centos7环境下安装及配置1.下载nacos1.1安装包下载地址链接:ht... 查看详情

springcloud之nacos配置管理(热共享更新配置集群搭建)(代码片段)

统一配置管理随着微服务越来越多,如果达到成百上千个服务,如果一个配置文件和数十个服务有关系,需要逐个微服务的配置文件去调——麻烦;并且调完,每个微服务都需要重启——生产环境下,一个服务的重启带来的影响... 查看详情

docker下,两分钟极速体验nacos配置中心(代码片段)

...列》的第三篇文章,本章我们一起来快速体验Naocs的动态配置服务;关于Nacos的动态配置服务动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置,Nacos提供了一个简洁易用的UI帮助您管理... 查看详情

nacos配置管理——配置共享(代码片段)

文章目录Nacos配置共享1.配置共享文件2.应用案例1)添加一个环境共享配置2)在user-service中读取共享配置3)运行两个UserApplication,使用不同的profile4)配置共享的优先级Nacos配置共享1.配置共享文件其实微服务... 查看详情

nacos安装配置教程(代码片段)

Nacos注册中心Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。Windows安装下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者... 查看详情