SpringCloudAlibaba 2021.0.5.0 集成Nacos2.2.0 集群配置中心使用记录

news2024/11/25 18:57:37

Nacos2.2.0集群配置中心使用记录,踩过太多坑
Nacos2.2.0集群搭建参考

1. Nacos配置中心使用

官方文档: https://github.com/alibaba/spring­cloud­alibaba/wiki/Nacos­config

1.1 准备配置

新建
新建配置

config:
    name: coisini
server:
  port: 9420

yaml配置

DataId:每个项目下有若干个微服务,每个配置集(DataId)是一个微服务的主配置文件
Group:代表某项目
Namespace:代表不同环境,如开发、测试、生产环境。

1.2 搭建nacos-config服务

1)引入依赖:
SpringCloud对应版本 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
版本
配置

<!--Springboot版本管理-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>2.6.13</version>
                <type>pom</type>
            </dependency>
            <!--spring-cloud版本管理-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.5</version>
            </dependency>
            <!--spring-cloud-alibaba版本管理-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.0.5.0</version>
            </dependency>

     <!--引入nacos服务-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--引入nacos-config服务-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
         <!--bootstrap加载到上下文-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

2)项目添加application.yml bootstrap.yml文件


application.yml

server:
  port: ${server.port}

bootstrap.yml

spring:
    # 配置中心地址
  application:
    # 服务名称
    name: admin
  # 环境配置 例如 admin-dev.yaml
  #profiles:
  #  active: dev
  cloud:
    nacos:
      discovery:
        # 开启nacos作为服务注册中心,默认值:true
        enabled: true
        # nacos集群服务注册地址
        server-addr: 192.168.20.128:8999
        # nacos用户名
        username: nacos
        # nacos密码
        password: nacos
        # 命名空间,默认 public,可设置dev,pro等,相同特征的服务分类,先去nacos命名空间创建
        # namespace: public
        # 分组,默认 DEFAULT_GROUP 相同特征的服务划分的更细
        group: DEFAULT_GROUP
        # 临时实例,默认true,false永久实例,即使宕机也不会从nacos服务中删除,可应对雪崩保护,避免服务被删除
        ephemeral: true
        # 权重 1-100 数值越大权重越大分配的流量就越大,通常结合权重负载均衡策略
        weight: 100
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        username: ${spring.cloud.nacos.discovery.username}
        password: ${spring.cloud.nacos.discovery.password}
        # dataid为yaml的文件扩展名配置方式 ${spring.application.name}.${file‐extension:properties}
        file-extension: yaml
        # namespace:
        group: DEFAULT_GROUP
        context-path: /nacos
        # 共享配置
        #shared-configs:
        #  - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

3) 测试微服务是否使用配置中心的配置
启动类:

@SpringBootApplication
// 服务注册发现
@EnableDiscoveryClient
 //开启 OpenFeign 功能
@EnableFeignClients
public class AdminApplication {
    public static void main(String[] args) throws InterruptedException {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(AdminApplication.class, args);
        while (true) {
            String name = applicationContext.getEnvironment().getProperty("config.name");
            String post = applicationContext.getEnvironment().getProperty("server.port");
            System.out.println("name :"+name);
            System.out.println("post :"+post);
            // 每一秒加载一次,查询注册中心配置是否变更
            TimeUnit.SECONDS.sleep(2);
        }
    }
}

新建controller 测试能否获取config.name值

@RestController
// 当前类下的配置支持动态更新
@RefreshScope
@RequestMapping("/api/admin")
public class CsController {
    @Value("${config.name}")
    String name;

    @GetMapping("/cs")
    public String cs() {
        return name;
    }
}

启动测试:
测试
测试
服务


搞定,感谢阅览~
END


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/881725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmeter-压测时接口按照顺序执行-临界部分控制器

文章目录 临界部分控制器存在问题 临界部分控制器 在进行压力测试时&#xff0c;需要按照顺序进行压测&#xff0c;比如按照接口1、接口2、接口3、接口4 进行执行 查询结果是很混乱的&#xff0c;如果请求次数少&#xff0c;可能会按照顺序执行&#xff0c;但是随着次数增加&a…

【Visual Studio Code】--- Win11 安装 VS Code 超详细

Win11 安装 VS Code 超详细 概述一、下载 Vscode二、安装 Vscode 概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径&#xff0c;学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 一、下载 Vscode Vscode官网 二、…

如何用DDX指标捕捉买卖力量的变化?

DDX指标&#xff08;Demand-Delivery Index&#xff0c;需求交付指数&#xff09;是一个用于测量市场供需关系和情绪变化的量化工具。通过分析每日的买入单数、卖出单数以及持仓人数&#xff0c;投资者可以利用DDX指标捕捉市场买卖力量的变化&#xff0c;从而做出更明智的投资决…

vscode|pycharm + docker + python

1&#xff0c;docker run的时候要加上port docker run -it --gpusall -p 2222:22 -v /挂载目录/:/docker 目录1/ -v /挂载目录/:/docker 目录2/ --namexxx image:v2 /bin/bash 2&#xff0c;docker 内部要安装ssh 2.1方法命令&#xff1a; apt-get update apt-get install…

第三章 图论 No.13拓扑排序

文章目录 裸题&#xff1a;1191. 家谱树差分约束拓扑排序&#xff1a;1192. 奖金集合拓扑序&#xff1a;164. 可达性统计差分约束拓扑序&#xff1a;456. 车站分级 拓扑序和DAG有向无环图联系在一起&#xff0c;通常用于最短/长路的线性求解 裸题&#xff1a;1191. 家谱树 119…

使用PDF文件入侵任何操作系统

提示&#xff1a;我们8月28号开学,所以我得快点更新了&#xff0c;不能拖了&#x1f625; 文章目录 前言一、打开终端总结 前言 PDF文件被广泛应用于共享信息&#xff0c;电子邮件&#xff0c;网站或文档或存储系统的真实链接 它可以用于恶意软件的载体。 不要问我什么意思&am…

Spring学习笔记(思维导图)

目录 基本概念 Spring优点&#xff1a; Spring缺点&#xff1a; AOP 实现原理&#xff1a; Jdk动态代理&#xff1a; CGlib: 静态代理&#xff1a; JDK动态代理和CGlib的对比&#xff1a; 配置方式&#xff1a; 基本概念&#xff1a; 事务管理 基本概念 事务控制 事…

Bingchat和ChatGPT主要区别

Bing Chat由chatgpt GPT-4技术提供支持&#xff0c;这是流行的ChatGPT的最新语言模型。Bing Chat通过更具交互性和上下文联动的响应来优化搜索引擎。它允许用户提出问题并获得更人性化、精确化或创造力的答案。用户还可以在答案末尾查看的参考来源。该工具可以充当个人研究、计…

每天一个知识点——L2R

面试的时候&#xff0c;虽然做过医疗文献搜索&#xff0c;也应用过L2R的相关模型&#xff0c;但涉及到其中的一些技术细节&#xff0c;都会成为我拿不下offer永远的痛。也尝试过去理解去背下一些知识点&#xff0c;终究没有力透纸背&#xff0c;随着时间又开始变得模糊&#xf…

Mysql使用数据类型为datetime导致无法返回规定格式解决

Mysql使用数据类型为datetime&#xff0c;在java中使用Date获取到返回的实际是一个秒数。 1.可以通过注解JsonFormat 直接转换成对应格式 pattern&#xff1a;格式 timezone&#xff1a;时区 2.手动转换&#xff0c;封装方法 /** * 时间转yyyy-MM-dd HH:mm:ss * * return */ …

【产品人卫朋】硬件产品经理:产品成功的四个要素

目录 要素一&#xff1a;快速行动 要素二&#xff1a;衡量产品增长力 了解你的目标用户 衡量用户参与度 要素三&#xff1a;避免浪费金钱 要素四&#xff1a;组建一支能打的团队 硬件产品的成功离不开四个核心要素&#xff0c;分别是&#xff1a; &#xff08;1&#xf…

消防二维码管理系统搭建教程

针对消防管理中普遍存在的消防设施巡查、维修、报修等需求&#xff0c;可以在草料二维码上搭建消防管理二维码系统&#xff0c;为每个消防设施生成一张独立的二维码&#xff0c;实现微信扫码进行巡检、维修、隐患上报等功能。 系统搭建流程 消防管理二维码系统由一个个二维码…

无涯教程-Perl - setservent函数

描述 在第一次调用getservent之前,应先调用此函数。 STAYOPEN参数是可选的,在大多数系统上未使用。当getservent()检索服务数据库中下一行的信息时,然后setervent设置(或重置)枚举到主机条目集的开头。 语法 以下是此函数的简单语法- setservent STAYOPEN返回值 此函数不返…

安防视频监控汇聚平台EasyCVR视频监控综合管理平台接入Ehome告警,公网快照不显示的问题解决步骤

智能视频监控汇聚平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;视频监控管理平台…

Compute shader SV 理解图

本图转子&#xff1a;【Computeshader】个人总结_蒋伟博的博客-CSDN博客

Spring解决循环依赖问题

一、什么是循环依赖&#xff1f; 例如&#xff0c;就是A对象依赖了B对象&#xff0c;B对象依赖了A对象。&#xff08;下面的代码属于属性的循环依赖&#xff0c;也就是初始化阶段的循环依赖&#xff0c;区别与底下构造器的循环依赖&#xff09; // A依赖了Bclass A{public B b;…

什么是CNN(卷积神经网络)

什么是卷积神经网络 卷积神经网络(Convolutional Neural Network)&#xff0c;在一个个填充着数字的正方形小格子&#xff0c;它们被称为卷积核。 原始图片经过输入层后&#xff0c;会变为灰度或是RGB数值填充的矩阵 将卷积核与图片矩阵对齐&#xff0c;对应格子中的数字相乘后…

Dev-C++

文章目录 介绍使用教程常用快捷键文件部分格式部分行操作跳转部分显示部分运行部分调试部分 调试流程 扩展增加编译选项开启优化显示最多警告信息生成调试信息 编译小 trick开大栈定义宏代码格式化 美化字体主题 介绍 Dev-C 是一套用于开发 C/C 程序的自由的集成开发环境&…

信贷行业如何找精准客户的(贷款大数据获客) ?

现在是互联网时代&#xff0c;大数据是指所有社会发展管理体系和经济发展框架中的许多数据信息来源&#xff0c;通常意味着当前的经济环境或市场需求&#xff0c;根据贷款行业三网运营商数据客户资源可以立即计算未来的经济发展趋势&#xff0c;可以让各领域的公司找到生存和发…

哈中盛会,融通互鉴|哈萨克斯坦-中国商业交流论坛引领新合作

为促进哈萨克斯坦与中国商业贸易的交流合作&#xff0c;8月14日&#xff0c;由深圳市跨境电商供应链服务协会、哈萨克斯坦-中国贸易促进协会和跨播集团联合主办的“哈萨克斯坦-中国商业交流论坛”在深圳大中华希尔顿酒店成功举办。哈萨克斯坦共和国副总理兼贸易和一体化部部长朱…