Spring Cloud之Config分布式配置应⽤

这篇具有很好参考价值的文章主要介绍了Spring Cloud之Config分布式配置应⽤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

. 右键⽗⼯程【 yx-parent 】选择【 New - Module 】选项,然后选择创建【 Maven 】类型项⽬(不勾选模 板),将项⽬名称设置为【yx-cloud-config 】。
Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 yx-cloud-config⼯程的pom.xml⽂件中引⼊以下依赖坐标(需要将⾃⼰注册到Eureka)。

 <dependencies>
        <!-- Eureka Client客户端依赖引入 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
        <!-- Config配置中心服务端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
    </dependencies>
com.yx.config 包下创建 ConfigApplication 启动类,使⽤注解 @EnableConfigServer 开启配置中⼼服务器功 能。
package com.yx.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer // 开启配置服务器功能
@EnableDiscoveryClient
@SpringBootApplication
public class ConfigApplication {
 public static void main(String[] args) {
 SpringApplication.run(ConfigApplication.class, args);
 }
}
yx-cloud-config ⼯程的 resources ⽬录下创建 application.yml 配置⽂件并添加以下配置。
server:
  port: 9400

# 注册到Eureka服务中心
eureka:
  client:
    service-url:
      defaultZone: http://YXCloudEurekaServerC:9200/eureka,http://YXCloudEurekaServerD:9201/eureka
  instance:
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
spring:
  application:
    name: yx-service-config
  cloud:
    config:
      server:
        git: #用于配置git仓库信息:uri,
          uri: https://gitee.com/zhengchunbo/yx-config.git
          username: **
          password: *****
          search-paths: #表示仓库的名称
            - yx-config
      label: master # 读取分⽀

Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 5.启动yx-cloud-config⼯程,访问http://127.0.0.1:9400/master/application-dev.yml地址进⾏测试

3. 构建 Client 客户端
在page消费者微服务 pom.xml ⽂件中添加 config-client 依赖坐标
<dependency>
<groupId> org.springframework.cloud </groupId>
<artifactId> spring-cloud-config-client </artifactId>
</dependency>

在page消费者微服务的application.yml⽂件名称修改为bootstrap.yml。并在为bootstrap.yml⽂件中对config 进⾏配置。

spring:
  # ⽅式1:暴露指定refresh端⼝
  management:
    endpoints:
     web:
      exposure:
       include: refresh
  application:
    name: yx-service-page
  cloud:
    config:
    # config客户端配置和ConfigServer通信,并告知ConfigServer希望获取的配置信息在哪个⽂件中
     name: application  #表示获取ConfigServer 中的配置文件名称(application-dev)
     profile: dev # 后缀名称
     label: master # 分⽀名称
     uri: http://localhost:9400 # ConfigServer配置中⼼地址

Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

package com.yx.page.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("config")
@RestController
public class ConfigController {
 @Value("${mysql.user}")
 private String mysqlUser;
 @Value("${person.name}")
 private String personName;
 @RequestMapping("remote")
 public String getRemoteConfig() {
 return "mysqlUser=" + mysqlUser + ", personName=" + personName;
 }
}
Config 配置⼿动刷新
1.在消费者模块添加 springboot-starter-actuator 依赖(已在⽗⼯程中添加)
2. Client 客户端(消费者 模块)的 bootstrap.yml(前面步骤已经把application.yml改为了booststrap.yml) ⽂件中添加配置(暴露通信端点,已添加)
Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 在消费者的collection类上使⽤到配置信息的类上添加@RefreshScope注解

Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring
4. ⼿动向 Client 客户端发起 POST 请求 http://localhost:9100/actuator/refresh ,即可完成刷新配置信息
Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 Spring Cloud Config+Spring Cloud Bus实现⾃动刷新

1. Config Server 服务端( yx-cloud-config 模块)和客户端( yx-service-page 模块)添加消息总线⽀持,引⼊ bus-amp依赖
<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

2..在Config Server服务端(yx-cloud-config模块)和客户端(消费者)(yx-service-page模块)的yml配置⽂件中添加 rabbitmq服务的配置信息

spring:
  rabbitmq:
    host: 192.168.48.67
    username: admin
    password: 123456

3.Config Server微服务(yx-cloud-config模块)和消费者page的application.yml⽂件中暴露端⼝

Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 Spring Cloud之Config分布式配置应⽤,spring cloud,分布式,spring

 4.重启各个服务,更改配置之后,向配置中⼼服务端发送POST请求,各个客户端配置即可⾃动刷新http://127.0.0. 1:9400/actuator/bus-refresh文章来源地址https://www.toymoban.com/news/detail-556549.html

到了这里,关于Spring Cloud之Config分布式配置应⽤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Spring Cloud构建分布式应用

    Spring Cloud是一组构建分布式系统的框架,它提供了各种工具和库,帮助开发人员构建高可用、可伸缩、灵活的分布式应用程序。本文将介绍如何使用Spring Cloud构建分布式应用程序。 微服务架构 Spring Cloud是基于微服务架构设计的,该架构将应用程序划分为一组小型、自治的服

    2024年02月06日
    浏览(48)
  • Spring Cloud Sleuth:分布式链路跟踪

    1.1 什么是分布式链路跟踪 在分布式系统中,由于服务间的调用涉及多个节点和网络通信,出现问题时追踪问题的根源变得异常困难。分布式链路跟踪是一种技术,旨在解决这个问题。它允许开发人员追踪分布式系统中请求的流转路径,从而定位和解决性能问题、异常和错误

    2024年02月21日
    浏览(39)
  • 十六、Spring Cloud Sleuth 分布式请求链路追踪

    1、为什么出出现这个技术?需要解决哪些问题 2、是什么? 官网: https://github.com/spring-cloud/spring-cloud-sleuth spring-cloud-sleuth 提供了一套完整的分布式链路追踪的解决方案 ,并且兼容支持了 zipkin (展现) 3、解决 1、下载运行zipkin 下载jar包到本地 https://repo1.maven.org/maven2/io/zipkin/

    2024年02月12日
    浏览(31)
  • Spring Cloud——演进与应用的分布式系统开发利器

    🌸作者简介: 花想云 ,目前大二在读 ,C/C++领域新星创作者、运维领域新星创作者、CSDN2023新星计划导师、CSDN内容合伙人、阿里云专家博主、华为云云享专家 🌸 专栏推荐: C语言初阶系列 、 C语言进阶系列 、 C++系列 、 数据结构与算法 、 Linux从入门到精通 🌸个人联系方

    2024年02月08日
    浏览(41)
  • 分布式链路追踪专栏,Spring Cloud Sleuth:分布式链路追踪之通信模型设计

    Spring Cloud Sleuth  赋予分布式跟踪的  Spring Boot  自动配置的一键解决方案。 Spring Cloud Sleuth  是基于  Brave  的封装,也是很多公司采用开源加自研的最佳解决方案。 那么从作为架构师或者技术专家如何去借鉴优秀框架的设计理念和思想,本次  Chat  将开启作者既分布式链路

    2024年01月19日
    浏览(54)
  • # Spring Boot 中如何使用 Spring Cloud Sleuth 来实现分布式跟踪?

    在微服务架构中,通常会有多个服务相互协作,为了方便排查问题,我们需要对服务之间的调用进行跟踪。Spring Cloud Sleuth 是 Spring Cloud 生态中的分布式跟踪解决方案,它可以帮助我们追踪请求在微服务系统中的传递路径,以及记录每个服务的处理时间等信息。 本文将介绍如

    2024年02月08日
    浏览(46)
  • Spring Cloud微服务架构:实现分布式系统的无缝协作

    🎉欢迎来到架构设计专栏~Spring Cloud微服务架构:实现分布式系统的无缝协作 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:架构设计 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水

    2024年02月08日
    浏览(30)
  • Spring Cloud学习(九)【Elasticsearch 分布式搜索引擎01】

    Elasticsearch 是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch 结合 kibana、Logstash、Beats,也就是 elastic stack(ELK) 。被广泛应用在日志数据分析、实时监控等领域。 elasticsearch 是 elastic stack 的核心,负责 存储、搜索、分析数据 。

    2024年02月05日
    浏览(30)
  • Spring boot微服务分布式框架Rouyi Cloud权限认证

    🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 专栏 描述 Java项目实战 介绍Java组件安装、使用;手写框架等 Aws服务器实战 Aws Linux服务器上操作nginx、git、JDK、Vue Jav

    2024年04月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包