西峡网站开发,邵阳 做网站公司,郑州航空港建设局网站,html做的网站怎么发布文章目录一、版本选取和概念理解1. 版本选择2.Namespace3. 如何进行配置和服务的管理、隔离#xff08;Group#xff09;二、方案选取1. 命名空间创建2. Namespace实施方案三、nacos配置实战3.1. dev环境配置创建3.2. test环境配置创建四、代码coding实战4.1. 创建2项目4.2. …
文章目录一、版本选取和概念理解1. 版本选择2.Namespace3. 如何进行配置和服务的管理、隔离Group二、方案选取1. 命名空间创建2. Namespace实施方案三、nacos配置实战3.1. dev环境配置创建3.2. test环境配置创建四、代码coding实战4.1. 创建2项目4.2. 引入依赖4.3. 创建测试类4.4. 创建dev环境配置文件4.5. 分别启动服务4.6. 测试验证一、版本选取和概念理解
1. 版本选择
毕业版本依赖关系(推荐使用)
Spring Cloud VersionSpring Cloud Alibaba VersionSpring Boot VersionNacos VersionSpring Cloud Hoxton.SR92.2.6.RELEASE2.3.2.RELEASE1.4.2
2.Namespace
Nacos引入了命名空间(Namespace)的概念来进行多环境配置和服务的管理及隔离 Namespace也是官方推荐的多环境支持方案。
3. 如何进行配置和服务的管理、隔离Group
这里的group就是Namespace的概念将服务和配置纳入相同的Namespace进行管理 不同Namespace下的服务和配置之间就隔离开来。
二、方案选取
1. 命名空间创建
NamespaceId值是在配置文件配置时必须要填入的配置项所以需要我们先创建Namespace和Id步骤如下 nacos 的控制台左边功能栏看到有一个命名空间的功能点击就可以看到新建命名空间 的按钮。 新建成功后可以在命名空间列表中查看到你所创建的Namespace和他生成的ID值。
2. Namespace实施方案
面向一个租户 从一个租户(用户)的角度来看如果有多套不同的环境那么这个时候可以根据指定的环境来创建不同的 namespce以此来实现多环境的隔离。 例如你可能有devtest和prod三个不同的环境那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。如下图所示 通过定义不同的环境不同环境的项目在不同的Namespace下进行管理不同环境之间通过Namespace进行隔离。 当多个项目同时使用该Nacos集群时还可以通过Group进行Namespace内的细化分组。 这里以Namespacedev为例在Namespace中通过不同Group进行同一环境中不同项目的再分类。
三、nacos配置实战
3.1. dev环境配置创建
Namespace下新建配置文件 这里假设有 nacos-namespace-one 和 nacos-namespace-two 两个项目等会会创建。 启动Nacos-Server进入Nacos控制台切换到Namespacedev界面新建配置文件
标签值DataIdnacos-namespace-one-dev.ymlGroupnamespace-one配置格式YAML
配置内容
nacos: config: 项目nacos-namespace-oneNamespacedev继续新建配置文件
标签值DataIdnacos-namespace-two-dev.ymlGroupnamespace-two配置格式YAML
配置内容
nacos: config: 项目nacos-namespace-twoNamespacedev注意检查DataId是否正确、group、配置内容与环境是否匹配 3.2. test环境配置创建
Namespace下新建配置文件 这里假设有 nacos-namespace-one 和 nacos-namespace-two 两个项目等会会创建。 启动Nacos-Server进入Nacos控制台切换到Namespacetest界面新建配置文件
标签值DataIdnacos-namespace-one-test.ymlGroupnamespace-one配置格式YAML
配置内容
nacos: config: 项目nacos-namespace-oneNamespacetest继续新建配置文件
标签值DataIdnacos-namespace-two-test.ymlGroupnamespace-two配置格式YAML
配置内容
nacos: config: 项目nacos-namespace-twoNamespacetest四、代码coding实战
4.1. 创建2项目
nacos-namespace-one和nacos-namespace-two
4.2. 引入依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.2.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!--服务注册发现--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency/dependenciesdependencyManagementdependencies!--spring-cloud-alibaba 版本控制--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2.2.6.RELEASE/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement4.3. 创建测试类
RestController
RefreshScope
public class NaocsController {Value(${nacos.config})private String nacosConfig;GetMapping(/nacosConfig)public String nacosConfig(){return nacosConfig;}
}
4.4. 创建dev环境配置文件 配置说明nacos-namespace-one项目和nacos-namespace-two项目默认配置dev环境的 bootstrap.yml当项目启动成功后在将test环境配置文件 bootstrap.yml内容覆盖掉dev环境的配置因为dev环境和test环境只是环境配置不一样但是他们同属于一个项目。等会会启动4个服务 分别是nacos-namespace-one项目9911、nacos-namespace-one项目的9912、nacos-namespace-two项目的9921、nacos-namespace-two项目的9922 nacos-namespace-one项目创建dev环境配置文件 bootstrap.yml dev
server:port: 9911
spring:application:name: nacos-namespace-oneprofiles:active: devcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-oneconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-onenacos-namespace-one项目创建test环境配置文件 bootstrap.yml test
server:port: 9912
spring:application:name: nacos-namespace-oneprofiles:active: testcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-oneconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-onenacos-namespace-two项目创建dev环境配置文件 bootstrap.yml dev
server:port: 9921
spring:application:name: nacos-namespace-twoprofiles:active: devcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-twoconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: bb5689cc-7613-4e61-a05f-a750371fe46fgroup: namespace-twonacos-namespace-two项目创建test环境配置文件 bootstrap.yml test
server:port: 9922
spring:application:name: nacos-namespace-twoprofiles:active: testcloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-twoconfig:server-addr: 127.0.0.1:8848prefix: ${spring.application.name}file-extension: ymlnamespace: 2b3082ac-ecbe-4ad8-b122-d5f92fa6e1ebgroup: namespace-two4.5. 分别启动服务
启动4个服务 分别是nacos-namespace-one项目9911、nacos-namespace-one项目的9912、nacos-namespace-two项目的9921、nacos-namespace-two项目的9922 同一项目启动不同端口的服务技巧 需要勾选这个选项
4.6. 测试验证
访问接口来获取配置信息验证是否可以读取相应环境配置
http://localhost:9911/nacosConfig
http://localhost:9912/nacosConfighttp://localhost:9921/nacosConfig
http://localhost:9922/nacosConfig总结通过Namespace来隔离不同的环境dev\test,在具体的环境Namespace中通过Group来管理不同的项目