国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

config: 分布式配置中心 & bus: 消息總線

這篇具有很好參考價(jià)值的文章主要介紹了config: 分布式配置中心 & bus: 消息總線。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


每一個(gè)應(yīng)用程序在運(yùn)行時(shí)都需要相應(yīng)的yml配置,分布式架構(gòu)下多個(gè)服務(wù)器和應(yīng)用服務(wù)面臨著多個(gè)配置文件,在修改和發(fā)布上難度較大,需要有一個(gè)管理中心來統(tǒng)一管理,優(yōu)雅的解決了配置的動(dòng)態(tài)變更、持久化、運(yùn)維成本等問題

流程:
分布式配置中心去遠(yuǎn)程倉庫將創(chuàng)建好的yml文件讀取,application client去分布式配置中心獲取配置

Spring Cloud Config: spring cloud config server和spring cloud config client
基于Http協(xié)議

hello world

一.在gitee上創(chuàng)建一個(gè)倉庫,創(chuàng)建application.yml,如下配置:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: fsfs

二.創(chuàng)建一個(gè)項(xiàng)目config_server
1.導(dǎo)入依賴:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

2.yml配置:

server:
  port: 8888

# 增加分布式配置中心服務(wù)端配置。連接GIT倉庫
spring:
  cloud: # spring cloud常用配置前置
    config: # 分布式配置中心配置前置
      server: # 服務(wù)端配置
        git: # git文件倉庫配置
          uri: https://gitee.com/xxxx/spring_cloud_config.git # git倉庫具體地址
          #username: xxxxxx # 私有倉庫必須配置用戶名和密碼。
          #password: xxxxxx # 公開倉庫可以省略用戶名和密碼配置。

3.啟動(dòng)類上加@EnableConfigServer注解

@SpringBootApplication
@EnableConfigServer
public class SpringcloudConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudConfigApplication.class, args);
    }
}

三.訪問測(cè)試:
在瀏覽器地址欄輸入 http://localhost:8888/name/profile/label ,基于Config Server獲取需要的配置文件。
name-必要restful參數(shù),代表配置文件主體名稱,及一般為application
profile-必要restful參數(shù),代表配置文件擴(kuò)展環(huán)境名稱,默認(rèn)讀取default環(huán)境擴(kuò)展配置,即application-xx.yml中的xx
label-可選參數(shù),代表配置文件所在GIT分支名稱,默認(rèn)null,相當(dāng)于master分支

訪問 http://localhost:8888/application/default(沒有可以不寫)/master(分支名稱)

四.創(chuàng)建項(xiàng)目config_client獲取config_server的配置信息
1.導(dǎo)入依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

2.創(chuàng)建bootstrap.yml,不使用application.yml,防止沖突
新配置文件 bootstrap.yml | properties。是spring cloud config技術(shù)支持的新配置文件。
配置文件由config分布式配置中心客戶端讀取,并請(qǐng)求分布式配置中心服務(wù)端,查詢獲取配置文件之后,Spring Boot根據(jù)配置文件,初始化環(huán)境

spring:
  cloud:
    config: # spring cloud config 客戶端配置
      uri: http://localhost:8888 # 分布式配置中心服務(wù)端地址。 默認(rèn)http://localhost:8888
      name: application # 要讀取的配置文件名,默認(rèn)是spring.application.name的配置值,如果沒有配置,默認(rèn)application
      # profile: default # 要讀取的配置文件環(huán)境是什么,默認(rèn)default
      label: master # 要讀取的配置文件所在分支名稱。默認(rèn)null。從主干分支獲取文件。

四.改變遠(yuǎn)程倉庫的端口server.port,
反復(fù)啟動(dòng)cofig_client項(xiàng)目,觀察端口號(hào)變化

熱刷新

1.添加導(dǎo)入依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.Config Client新增配置內(nèi)容

management:
  endpoints:
    web:
      exposure:
        include: refresh,info,health

3.Config Client修改服務(wù)實(shí)現(xiàn)
在使用遠(yuǎn)程配置內(nèi)容的類上(案例中的Service,放在controler上無效)增加新注解:

@Service
@RefreshScope
public class ConfigClientServiceImpl implements ConfigClientService {
    @Value("${my.content}")
    private String content;
    @Override
    public String test() {
        System.out.println("content = " + content);
        return content;
    }
}

4.測(cè)試熱刷新
使用PostMan工具,發(fā)送POST
訪問 http://localhost:8080/actuator/refresh 訪問改地址,才能刷新注入,實(shí)際已經(jīng)刷新了
再次訪問 http://localhost:8080/test

Spring Cloud Bus:消息總線

Spring Cloud Bus集成了市面上常見的RabbitMQ和Kafka等消息代理。其會(huì)連接微服務(wù)系統(tǒng)中所有擁有Bus總線機(jī)制的節(jié)點(diǎn),當(dāng)有數(shù)據(jù)變更的時(shí)候,會(huì)通過消息中間件使用消息廣播的方式通知所有的微服務(wù)節(jié)點(diǎn)同步更新數(shù)據(jù)。(如:微服務(wù)配置更新等)

基于Bus消息總線實(shí)現(xiàn)熱刷新功能,需要在所有的Eureka Client端應(yīng)用中增加spring-cloud-starter-bus-amqp依賴,這個(gè)依賴是消息總線集成的RabbitMQ消息同步組件?;谙⒖偩€的熱刷新同樣是通過actuator實(shí)現(xiàn)的,所以需要spring-boot-starter-actuator啟動(dòng)器依賴。
1.在Config Client中增加依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 總線技術(shù)中的amqp相關(guān)依賴。 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

2.編輯配置文件: 編輯Config Client中的配置文件。

spring:
  rabbitmq:
    host: localhost
    username: guest
    password: giest
management:
  endpoints:
    enabled-by-default: true
    web:
      exposure:
        include: bus-refresh,info,health

3.測(cè)試
消息總線Bus基于Actuator對(duì)外提供了熱刷新服務(wù),服務(wù)地址是:http://localhost:8080/actuator/bus-refresh。此服務(wù)只能使用POST方式請(qǐng)求,可以使用PostMan測(cè)試。文章來源地址http://www.zghlxwxcb.cn/news/detail-421893.html

到了這里,關(guān)于config: 分布式配置中心 & bus: 消息總線的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Cloud之Config分布式配置應(yīng)?

    Spring Cloud之Config分布式配置應(yīng)?

    . 右鍵??程【 yx-parent 】選擇【 New 】 - 【 Module 】選項(xiàng),然后選擇創(chuàng)建【 Maven 】類型項(xiàng)?(不勾選模 板),將項(xiàng)?名稱設(shè)置為【yx-cloud-config 】。 ? 在 yx-cloud-config ?程的 pom.xml?件中引?以下依賴坐標(biāo)(需要將??注冊(cè)到 Eureka )。 在 com.yx.config 包下創(chuàng)建 ConfigApplication 啟

    2024年02月15日
    瀏覽(31)
  • 分布式配置中心

    分布式配置中心

    一、Config概述 Spring Cloud Config 解決了在分布式場(chǎng)景下多環(huán)境配置文件的管理和維護(hù) 好處: 集中管理配置文件 不同環(huán)境不同配置,動(dòng)態(tài)化的配置更新 配置信息改變時(shí),不需要重啟即可更新配置信息到服務(wù) 二、Config 快速入門 1、使用gitee創(chuàng)建遠(yuǎn)程倉庫,上傳配置文件 config-dev

    2024年02月07日
    瀏覽(20)
  • 分布式配置中心 Apollo

    分布式配置中心 Apollo

    1、客戶端和服務(wù)端會(huì)保持一個(gè)長(zhǎng)連接,從而第一時(shí)間獲取配置更新的推送。 2、客戶端還會(huì)定時(shí)從Apollo配置中心服務(wù)端拉取應(yīng)用的最新配置,而且客戶端定時(shí)拉取會(huì)上報(bào)給本地版本,默認(rèn)每隔5分鐘拉取一次,也可以通過運(yùn)行時(shí)指定apollo.refreshInterval來覆蓋,單位為分鐘。 3、客

    2024年02月10日
    瀏覽(19)
  • 第三章 分布式配置中心

    第三章 分布式配置中心

    分布式配置中心是為了解決在分布式系統(tǒng)中進(jìn)行配置管理的需求而引入的。在傳統(tǒng)的單體應(yīng)用中,通常使用配置文件集中管理系統(tǒng)的配置信息。然而,在分布式系統(tǒng)中,由于系統(tǒng)規(guī)模變大、節(jié)點(diǎn)眾多,并且可能部署在不同的服務(wù)器上,傳統(tǒng)的配置文件方式會(huì)面臨一些挑戰(zhàn)。

    2024年02月04日
    瀏覽(22)
  • 微服務(wù) 分布式配置中心Apollo詳解

    微服務(wù) 分布式配置中心Apollo詳解

    配置就是應(yīng)用程序在啟動(dòng)和運(yùn)行的時(shí)候往往需要讀取一些配置信息,配置基本上伴隨著應(yīng)用程序的整個(gè)生命周期,比如:數(shù)據(jù)庫連接參數(shù)、啟動(dòng)參數(shù)等。常見的配置properties,yml,xml等。 先說為什么需要配置中心,傳統(tǒng)的配置有什么問題? 沒有配置也可以在代碼寫死,為什么需

    2023年04月08日
    瀏覽(20)
  • 微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

    微服務(wù)架構(gòu)學(xué)習(xí)與思考(13):分布式配置中心

    微服務(wù)架構(gòu)系列文章集合:https://www.cnblogs.com/jiujuan/p/17307285.html 用編程語言編寫應(yīng)用項(xiàng)目時(shí),一般都會(huì)有項(xiàng)目的配置文件。比如用 java 編寫項(xiàng)目,有一個(gè) properties 的配置文件,會(huì)把一些配置信息寫入到該文本文件中,例如數(shù)據(jù)庫相關(guān)的配置信息。 這也體現(xiàn)了軟件設(shè)計(jì)的一個(gè)原

    2024年02月06日
    瀏覽(36)
  • 理解 Spring Cloud 分布式配置中心Eureka

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在 Spring Cloud 的世界里,分布式系統(tǒng)經(jīng)歷了開發(fā)、測(cè)試、運(yùn)維三個(gè)階段。而在開發(fā)階段,通常采用集中式配置方式,將所有配置文件統(tǒng)一管理在一臺(tái)服務(wù)器上。隨著業(yè)務(wù)系統(tǒng)的不斷擴(kuò)張,各個(gè)微服務(wù)模塊都需要配置自己的屬性值。因此,需要一

    2024年02月08日
    瀏覽(98)
  • Nacos服務(wù)注冊(cè)和配置中心(Config,Eureka,Bus)2

    Nacos服務(wù)注冊(cè)和配置中心(Config,Eureka,Bus)2

    ????????Nacos領(lǐng)域模型,Namespace命名空間、Group分組、集群這些都是為了進(jìn)行歸類管理,把服務(wù)和配置文件進(jìn)行歸類,歸類之后就可以實(shí)現(xiàn)一定的效果,比如隔離。對(duì)于服務(wù)來說,不同命名空間中的服務(wù)不能夠互相訪問調(diào)用 ????????Namespace:命名空間,對(duì)不同的環(huán)境進(jìn)行

    2024年02月16日
    瀏覽(27)
  • Nacos服務(wù)注冊(cè)和配置中心(Config,Eureka,Bus)1

    Nacos服務(wù)注冊(cè)和配置中心(Config,Eureka,Bus)1

    ????????Spring Cloud是若干個(gè)框架的集合,包括spring-cloud-config、spring-cloud-bus等近20個(gè)子項(xiàng)目,提供了服務(wù)治理、服務(wù)網(wǎng)關(guān)、智能路由、負(fù)載均衡、斷路器、監(jiān)控跟蹤、分布式消息隊(duì)列、配置管理等領(lǐng)域的解決方案, Spring Cloud Alibaba可以集成Zuul、Gateway等網(wǎng)關(guān)組件,也可集成R

    2024年02月16日
    瀏覽(47)
  • 基于分布式系統(tǒng)結(jié)構(gòu)下Nacos配置中心的應(yīng)用

    基于分布式系統(tǒng)結(jié)構(gòu)下Nacos配置中心的應(yīng)用

    在上一篇nacos初始中,已經(jīng)描述過Nacos的基本知識(shí),在這篇博客里記錄的是Nacos配置中心的使用。 集中化配置管理 :Nacos配置中心支持將應(yīng)用程序的配置信息集中管理,包括常規(guī)的屬性配置、文本配置、JSON配置等。你可以通過Nacos的控制臺(tái)或API進(jìn)行配置的創(chuàng)建、更新、刪除和查

    2024年02月09日
    瀏覽(40)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包