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


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

    ??专栏介绍

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

    ??本期介绍

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

    文章目录

    目录

    服务集群

    需求

    搭建

    测试

    加载配置文件顺序

    nacos配置DataId介绍

    配置yml文件中的DataId

    配置console中的DataId

    测试

    多环境配置

    服务集群

    需求

    • 服务提供者搭建集群

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

    搭建

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

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

    2)编写yml配置

    #端口号
    server:
      port: 8170
    
    spring:
      application:
        name: service-provider          #服务名
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848   #nacos服务地址
    
    
    #端口号
    server:
      port: 8270
    
    spring:
      application:
        name: service-provider          #服务名
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848   #nacos服务地址
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    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

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

    配置console中的DataId

    • nacos控制台配置

    测试

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

    • 查看日志

    Located property source: [
    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'}]
    
    • 1
    • 2

    多环境配置

    • 在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

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【Android笔记03】Android基本的UI控件(TextView、Button、EditText、ImageView、ProgressBar)
    GAN实战笔记——第五章训练与普遍挑战:为成功而GAN
    微信小程序 | 吐血整理的日历及日程时间管理
    JavaSE——包装类、装箱与拆箱
    【SpringBoot+MP】实现简单购物车并集成用户下单功能
    研发效能工程实践-利用Superset快速打造大数据BI平台
    3D打印服务展示预约小程序的效果如何
    项目进度管理
    即时通讯Web端通信方式的演进
    什么是超声波清洗机?工作原理是什么?2023年超声波清洗机推荐
  • 原文地址:https://blog.csdn.net/m0_67394006/article/details/126080795