欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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文件中引入依賴(lài):

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

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

    @Bean
    @LoadBalanced //按服務(wù)名稱(chēng)調(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)類(lèi)添加注解:@EnableDiscoveryClient //**服務(wù)注冊(cè)和發(fā)現(xiàn)

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

注冊(cè)成功

2、配置管理

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

1)服務(wù)端加入依賴(lài),調(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是用戶(hù)級(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ù)名稱(chēng)-配置環(huán)境命名 (不寫(xiě)為默認(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)類(lèi)上加入 @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)容:

其中寫(xiě)明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)文章

  • Springboot與vue實(shí)例講解實(shí)現(xiàn)前后端分離的人事管理系統(tǒng)

    Springboot與vue實(shí)例講解實(shí)現(xiàn)前后端分離的人事管理系統(tǒng)

    這篇文章主要介紹了如何用Java實(shí)現(xiàn)企業(yè)人事管理系統(tǒng),文中采用springboot+vue實(shí)現(xiàn)前后端分離,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-06-06
  • Spring @Valid和@Validated區(qū)別和用法實(shí)例

    Spring @Valid和@Validated區(qū)別和用法實(shí)例

    這篇文章主要介紹了Spring @Valid和@Validated區(qū)別和用法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • java 定義長(zhǎng)度為0的數(shù)組/空數(shù)組案例

    java 定義長(zhǎng)度為0的數(shù)組/空數(shù)組案例

    這篇文章主要介紹了java 定義長(zhǎng)度為0的數(shù)組/空數(shù)組案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • MybatisPlus分頁(yè)失效不起作用的解決

    MybatisPlus分頁(yè)失效不起作用的解決

    在使用MybatisPlus的selectPage時(shí)發(fā)現(xiàn)分頁(yè)不起作用,每次返回的都是全部的數(shù)據(jù),本文就來(lái)介紹一下MybatisPlus分頁(yè)失效不起作用的解決,感興趣的可以了解一下
    2024-03-03
  • Java vector的詳解及實(shí)例

    Java vector的詳解及實(shí)例

    這篇文章主要介紹了Java vector的詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java獲取彩色圖像中的主色彩的實(shí)例代碼

    Java獲取彩色圖像中的主色彩的實(shí)例代碼

    這篇文章主要介紹了Java獲取彩色圖像中的主色彩的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java中JSON數(shù)據(jù)操作與處理全面指南

    Java中JSON數(shù)據(jù)操作與處理全面指南

    JSON(JavaScript Object Notation)是數(shù)據(jù)交換的輕量級(jí)格式,它以易于人類(lèi)閱讀和機(jī)器解析的方式組織數(shù)據(jù),基于鍵值對(duì),在Java開(kāi)發(fā)中,處理JSON數(shù)據(jù)通常涉及使用Jackson、Gson、Fastjson等庫(kù),本文給大家介紹JSON數(shù)據(jù)操作與處理全面指南,感興趣的朋友一起看看吧
    2024-10-10
  • Springboot+Poi導(dǎo)入Excel表格實(shí)現(xiàn)過(guò)程詳解

    Springboot+Poi導(dǎo)入Excel表格實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了Springboot+Poi導(dǎo)入Excel表格實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Spring解讀@Component和@Configuration的區(qū)別以及源碼分析

    Spring解讀@Component和@Configuration的區(qū)別以及源碼分析

    通過(guò)實(shí)例分析@Component和@Configuration注解的區(qū)別,核心在于@Configuration會(huì)通過(guò)CGLIB代理確保Bean的單例,而@Component不會(huì),在Spring容器中,使用@Configuration注解的類(lèi)會(huì)被CGLIB增強(qiáng),保證了即使在同一個(gè)類(lèi)中多次調(diào)用@Bean方法
    2024-10-10
  • Java檢測(cè)線程中斷狀態(tài)的方法示例

    Java檢測(cè)線程中斷狀態(tài)的方法示例

    這篇文章主要介紹了Java檢測(cè)線程中斷狀態(tài)的方法,結(jié)合實(shí)例形式分析了java針對(duì)線程中斷狀態(tài)檢測(cè)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10

最新評(píng)論