前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微服务】Nacos集群搭建以及加载文件配置

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

作者头像
陶然同学
发布2023-02-27 10:57:07
5110
发布2023-02-27 10:57:07
举报
文章被收录于专栏:陶然同学博客

👀专栏介绍

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

👀本期介绍

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

文章目录

目录

服务集群

需求

搭建

测试

加载配置文件顺序

nacos配置DataId介绍

配置yml文件中的DataId

配置console中的DataId

测试

多环境配置

服务集群

需求

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

搭建

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

代码语言:javascript
复制
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;
    }
}

 2)编写yml配置

代码语言:javascript
复制
#端口号
server:
  port: 8170

spring:
  application:
    name: service-provider          #服务名
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848   #nacos服务地址
代码语言:javascript
复制
#端口号
server:
  port: 8270

spring:
  application:
    name: service-provider          #服务名
  cloud:
    nacos:
      discovery:
        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

代码语言:javascript
复制
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 组名

配置console中的DataId

  • nacos控制台配置

测试

  • 后面加载的dataId将覆盖前面加载的dataId设置的内容
  • 查看日志
代码语言:javascript
复制
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'}]

多环境配置

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀专栏介绍
  • 👀本期介绍
  • 文章目录
  • 服务集群
    • 需求
      • 搭建
        • 测试
        • 加载配置文件顺序
          • nacos配置DataId介绍
            • 配置yml文件中的DataId
              • 配置console中的DataId
                • 测试
                • 多环境配置
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档