最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud之consul服務(wù)注冊(cè)與發(fā)現(xiàn)、配置管理、配置持久化方式

 更新時(shí)間:2025年03月24日 14:22:44   作者:夢(mèng)塵(0_O)  
這篇文章主要介紹了SpringCloud之consul服務(wù)注冊(cè)與發(fā)現(xiàn)、配置管理、配置持久化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

老牌注冊(cè)中心Eureka停更運(yùn)維,新型的consul、nacos崛起,本文介紹consul服務(wù)

一、consul是什么?

Consul 是一套開(kāi)源的分布式服務(wù)發(fā)現(xiàn)和配置管理系統(tǒng),由 HashiCorp 公司用 Go 語(yǔ)言開(kāi)發(fā)。

提供了微服務(wù)系統(tǒng)中的服務(wù)治理、配置中心、控制總線等功能。這些功能中的每一個(gè)都可以根據(jù)需要單獨(dú)使用,也可以一起使用以構(gòu)建全方位的服務(wù)網(wǎng)格,總之Consul提供了一種完整的服務(wù)網(wǎng)格解決方案。它具有很多優(yōu)點(diǎn)。包括: 基于 raft 協(xié)議,比較簡(jiǎn)潔; 支持健康檢查, 同時(shí)支持 HTTP 和 DNS 協(xié)議 支持跨數(shù)據(jù)中心的 WAN 集群 提供圖形界面 跨平臺(tái),支持 Linux、Mac、Windows

作用:

  • 服務(wù)發(fā)現(xiàn):提供HTTP和DNS兩種發(fā)現(xiàn)方式
  • 健康監(jiān)測(cè):支持多種方式,HTTP、TCP、Docker、Shell腳本定制化監(jiān)控
  • KV存儲(chǔ):Key、Value的存儲(chǔ)方式。
  • 多數(shù)據(jù)中心:Consul支持多數(shù)據(jù)中心

可視化Web界面

二、安裝運(yùn)行consul

下載地址:http://developer.hashicorp.com/consul/install

下載完成后只有一個(gè).exe文件,在該目錄下打開(kāi)cmd,輸入 consul agent -dev 使用開(kāi)發(fā)者模式啟動(dòng)consul

最后在 localhost:8500訪問(wèn)

訪問(wèn)結(jié)果:

三、使用

1、服務(wù)發(fā)現(xiàn)

將微服務(wù)注冊(cè)到consul服務(wù)中心中統(tǒng)一管理

1)在需要注冊(cè)的服務(wù)的pom文件中引入依賴:

<!--SpringCloud consul discovery -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

注意:引入該依賴的同時(shí)也引入了loadbalancer(負(fù)載均衡),若使用的遠(yuǎn)程調(diào)用方式為RestTemplate,需要在創(chuàng)建RestTemplate的配置類中對(duì)應(yīng)Bean的位置加上@LoadBalanced注解,支持負(fù)載均衡

    @Bean
    @LoadBalanced //按服務(wù)名稱調(diào)用時(shí)默認(rèn)負(fù)載均衡 要加上該注解支持負(fù)載均衡
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

2)配置yaml

spring:
application:
name: cloud-consumer-order
cloud:
consul:
port: 8500
host: localhost
discovery:
prefer-ip-address: true #優(yōu)先使用服務(wù)ip進(jìn)行注冊(cè)
service-name: ${spring.application.name}

3)主啟動(dòng)類添加注解:@EnableDiscoveryClient //**服務(wù)注冊(cè)和發(fā)現(xiàn)

4)啟動(dòng)主啟動(dòng)類,訪問(wèn)8500端口查看

注冊(cè)成功

2、配置管理

通用配置配置在consul,每個(gè)服務(wù)從consul獲取配置,也可接受動(dòng)態(tài)刷新

1)服務(wù)端加入依賴,調(diào)用端不切換配置環(huán)境可以不配置到consul

<!--SpringCloud consul config-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

2)新增配置文件bootstrap.yml

  • applicaiton.yml是用戶級(jí)的資源配置項(xiàng)
  • bootstrap.yml是系統(tǒng)級(jí)的,優(yōu)先級(jí)更加高

Spring Cloud會(huì)創(chuàng)建一個(gè)“Bootstrap Context”,作為Spring應(yīng)用的`Application Context`的父上下文。初始化的時(shí)候,`Bootstrap Context`負(fù)責(zé)從外部源加載配置屬性并解析配置。這兩個(gè)上下文共享一個(gè)從外部獲取的`Environment`。

`Bootstrap`屬性有高優(yōu)先級(jí),默認(rèn)情況下,它們不會(huì)被本地配置覆蓋。 `Bootstrap context`和`Application Context`有著不同的約定,所以新增了一個(gè)`bootstrap.yml`文件,保證`Bootstrap Context`和`Application Context`配置的分離。

application.yml文件改為bootstrap.yml,這是很關(guān)鍵的或者兩者共存

因?yàn)閎ootstrap.yml是比application.yml先加載的。bootstrap.yml優(yōu)先級(jí)高于application.yml

  • bootstrap.yml:
spring:
application:
name: cloud-payment-service
####Spring Cloud Consul for Service Discovery
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
config:
profile-separator: '-' # default value is ",",we update '-'
format: YAML

3)在consul中創(chuàng)建配置文件

以config文件夾開(kāi)始,data文件結(jié)束,中間文件夾以服務(wù)名稱-配置環(huán)境命名 (不寫為默認(rèn)環(huán)境)

# config/cloud-payment-service/data
# /cloud-payment-service-dev/data
# /cloud-payment-service-prod/data

4)動(dòng)態(tài)刷新

在主啟動(dòng)類上加入 @RefreshScope 注解,這樣在consul中更改配置后,響應(yīng)配置會(huì)在服務(wù)端刷新

四、數(shù)據(jù)持久化

問(wèn)題:我們配置的配置文件,當(dāng)consul服務(wù)退出后就消失了,要將配置的文件持久化到本地,并開(kāi)機(jī)的時(shí)候自動(dòng)啟動(dòng)consul服務(wù)

1、在consul安裝目錄新建一個(gè)mydata文件夾存放配置的數(shù)據(jù)

2、新建一個(gè)consul_start.txt文件

文件內(nèi)容:

其中寫明consul.exe文件位置和剛創(chuàng)建的mydata文件夾位置。其中mydata后要有空格

@echo.服務(wù)啟動(dòng)......
@echo off
@sc create Consul binpath= "D:\wtp\software\cloud\consul\consul.exe agent -server -ui -bind=127.0.0.1 -client=0.0.0.0 -bootstrap-expect 1 -data-dir D:\wtp\software\cloud\consul\mydata "
@net start Consul
@sc config Consul start= AUTO
@echo.Consul start is OK......success
@pause

3、文件 consul_start.txt 保存后后綴改為.bat

4、以管理員身份運(yùn)行 consul_start.txt

效果:

總結(jié)

本文介紹了consul的安裝、使用、持久化。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBootTest報(bào)錯(cuò)的問(wèn)題解決

    SpringBootTest報(bào)錯(cuò)的問(wèn)題解決

    本文主要介紹了SpringBootTest報(bào)錯(cuò)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09
  • Java文件操作之序列化與對(duì)象處理流詳解

    Java文件操作之序列化與對(duì)象處理流詳解

    這篇文章主要為大家詳細(xì)介紹了Java文件操作中的序列化與對(duì)象處理流,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Java實(shí)體類(entity)作用說(shuō)明

    Java實(shí)體類(entity)作用說(shuō)明

    這篇文章主要介紹了Java實(shí)體類(entity)作用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 關(guān)于MyBatis Plus中使用or和and問(wèn)題

    關(guān)于MyBatis Plus中使用or和and問(wèn)題

    這篇文章主要介紹了關(guān)于MyBatis Plus中使用or和and問(wèn)題,需要的朋友可以參考下
    2020-12-12
  • Java對(duì)時(shí)間的簡(jiǎn)單操作實(shí)例

    Java對(duì)時(shí)間的簡(jiǎn)單操作實(shí)例

    這篇文章主要介紹了Java對(duì)時(shí)間的簡(jiǎn)單操作,實(shí)例分析了針對(duì)java.util.Date的各類常見(jiàn)操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • Java基于swing實(shí)現(xiàn)的彈球游戲代碼

    Java基于swing實(shí)現(xiàn)的彈球游戲代碼

    這篇文章主要介紹了Java基于swing實(shí)現(xiàn)的彈球游戲代碼,包含了窗體界面設(shè)計(jì)與游戲的邏輯功能處理,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • 如何為Spring Cloud Gateway加上全局過(guò)濾器

    如何為Spring Cloud Gateway加上全局過(guò)濾器

    這篇文章主要介紹了如何為Spring Cloud Gateway加上全局過(guò)濾器,幫助大家更好得理解和學(xué)習(xí)使用Gateway,感興趣的朋友可以了解下
    2021-03-03
  • Spring PlatformTransactionManager使用、原理深度解析

    Spring PlatformTransactionManager使用、原理深度解析

    PlatformTransactionManager是Spring事務(wù)管理的核心接口,提供統(tǒng)一的編程模型封裝底層事務(wù)能力,本文從工作原理、使用方法、注意事項(xiàng)和設(shè)計(jì)考量四個(gè)維度深入解析,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • Java FutureTask類使用案例解析

    Java FutureTask類使用案例解析

    這篇文章主要介紹了Java FutureTask類使用案例解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值析,需要的朋友可以參考下
    2020-04-04
  • java配置沙箱支付的實(shí)現(xiàn)示例

    java配置沙箱支付的實(shí)現(xiàn)示例

    箱支付是支付平臺(tái)提供的模擬支付環(huán)境,包含測(cè)試用的 APPID、密鑰、網(wǎng)關(guān)、測(cè)試賬號(hào)等資源,下面就來(lái)介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下
    2025-08-08

最新評(píng)論

安塞县| 南华县| 嘉峪关市| 库车县| 肥东县| 丽江市| 佛冈县| 安顺市| 仁化县| 肥乡县| 安远县| 繁峙县| 房产| 子洲县| 河北省| 云和县| 榆社县| 江孜县| 浦北县| 克什克腾旗| 达孜县| 长武县| 田东县| 望都县| 绍兴市| 大余县| 穆棱市| 宜州市| 宜良县| 双桥区| 庆阳市| 巧家县| 山阴县| 安国市| 祁连县| 巩留县| 留坝县| 南漳县| 开封市| 延吉市| 长治县|