【微服务】Nacos集群搭建以及加载文件配置

举报
陶然同学 发表于 2022/07/04 00:28:50 2022/07/04
【摘要】 🔎这里是【微服务】,关注我学习微服务不迷路 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【微服务】 目前主要更新微服务,一起学习一起进步。 👀本期介绍 本期主要介绍Nacos集群搭建以及加载文件配置 文章目录 目录 服务集群 需求 搭建 测试 加载配置文...

🔎这里是【微服务】,关注我学习微服务不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

👀专栏介绍

【微服务】 目前主要更新微服务,一起学习一起进步。

👀本期介绍

本期主要介绍Nacos集群搭建以及加载文件配置

文章目录

目录

服务集群

需求

搭建

测试

加载配置文件顺序

nacos配置DataId介绍

配置yml文件中的DataId

配置console中的DataId

测试

多环境配置

服务集群

需求

  • 服务提供者搭建集群

  • 服务调用者,依次显示集群中各服务的信息

搭建

1)修改服务提供方的controller,打印服务端端口号


  
  1. package com.czxy.controller;
  2. import org.springframework.web.bind.annotation.*;
  3. import javax.annotation.Resource;
  4. import javax.servlet.http.HttpServletRequest;
  5. @RestController
  6. public class EchoController {
  7. @Resource
  8. private HttpServletRequest request;
  9. @RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
  10. public String echo(@PathVariable String string) {
  11. int serverPort = request.getServerPort();
  12. return "Hello Nacos Discovery " + string + ":" + serverPort;
  13. }
  14. }

 2)编写yml配置


  
  1. #端口号
  2. server:
  3. port: 8170
  4. spring:
  5. application:
  6. name: service-provider #服务名
  7. cloud:
  8. nacos:
  9. discovery:
  10. server-addr: 127.0.0.1:8848 #nacos服务地址


  
  1. #端口号
  2. server:
  3. port: 8270
  4. spring:
  5. application:
  6. name: service-provider #服务名
  7. cloud:
  8. nacos:
  9. discovery:
  10. server-addr: 127.0.0.1:8848 #nacos服务地址

3)配置idea启动项

-Dspring.profiles.active=8170

测试

  • 启动3个服务(2个服务提供,1个服务消费)

  • 查看nacos控制台

加载配置文件顺序

  • 3.4.5章节/第4步内容进行详解

  • 加载配置文件的顺序(第4步详解)

nacos配置DataId介绍

  • nacos 提供了3种方式,配置dataId的加载顺序

A: 共享配置:

spring.cloud.nacos.config.shared-dataids

spring.cloud.nacos.config.refreshable-dataids

B: 加载多配置:

spring.cloud.nacos.config.ext-config[n] C: 内部规则拼接:

spring.cloud.nacos.config.prefix

spring.cloud.nacos.config.file-extension

spring.cloud.nacos.config.group

配置yml文件中的DataId


  
  1. spring:
  2. application:
  3. name: config-service # 服务名
  4. cloud:
  5. nacos:
  6. config:
  7. server-addr: 127.0.0.1:8848 # nacos 服务地址
  8. shared-dataids: test1.yml # 1.1 共享配置
  9. refreshable-dataids: test1.yml # 1.2 共享配置,动态刷新
  10. ext-config: # 2. 配置多个
  11. - data-id: test2-1.yml
  12. group: DEFAULT_GROUP
  13. refresh: true
  14. - data-id: test2-2.yml
  15. group: DEFAULT_GROUP
  16. refresh: true
  17. prefix: test3 # 3.1 前缀,默认 ${spring.application.name}
  18. file-extension: yaml # 3.2 后缀
  19. group: DEFAULT_GROUP # 3.3 组名

配置console中的DataId

  • nacos控制台配置

测试

  • 后面加载的dataId将覆盖前面加载的dataId设置的内容

  • 查看日志


  
  1. Located property source: [
  2. BootstrapPropertySource {name='bootstrapProperties-test3-demo.yaml'}, BootstrapPropertySource {name='bootstrapProperties-test3.yaml'}, BootstrapPropertySource {name='bootstrapProperties-test2-2.yml'}, BootstrapPropertySource {name='bootstrapProperties-test2-1.yml'}, BootstrapPropertySource {name='bootstrapProperties-test1.yml'}]

多环境配置

 

  • 在Nacos为不同的环境(开发、测试、生产等)中,提供了多个不同管理级别的概念,包括:Data IDGroupNamespace

概念 描述
Data ID 数据唯一标识,可理解为Spring Cloud应用的配置文件名
Group 用来对Data ID做集合管理,相当于小分类
Namespace 用于进行租户粒度的配置隔离。相当于大分类
  • 组group配置

spring.cloud.nacos.config.group=                #组名称

  • 命名空间 namespace配置

spring.cloud.nacos.config.namespace=            #namespace的ID

文章来源: blog.csdn.net,作者:陶然同学,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_45481821/article/details/125333048

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。