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

注冊(cè)中心/配置管理 —— SpringCloud Consul

這篇具有很好參考價(jià)值的文章主要介紹了注冊(cè)中心/配置管理 —— SpringCloud Consul。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Consul 概述

Consul 是一個(gè)可以提供服務(wù)發(fā)現(xiàn),健康檢查,多數(shù)據(jù)中心,key/Value 存儲(chǔ)的分布式服務(wù)框架,用于實(shí)現(xiàn)分布式系統(tǒng)的發(fā)現(xiàn)與配置。Cousul 使用 Go 語言實(shí)現(xiàn),因此天然具有可移植性,安裝包僅包含一個(gè)可執(zhí)行文件,直接啟動(dòng)即可運(yùn)行,方便部署


Consul 安裝與啟動(dòng)

以 windows 為例,在官網(wǎng)下載 Consul:https://www.consul.io/

注冊(cè)中心/配置管理 —— SpringCloud Consul

下載之后解壓縮,進(jìn)入目錄運(yùn)行 consul.exe 即可:.\consul.exe agent -dev

Consul 啟動(dòng)完成后,在瀏覽器中訪問 http://ocalhost:8500/ 便可以看到 Consul 首頁


Consul 服務(wù)注冊(cè)與發(fā)現(xiàn)

創(chuàng)建 cousul-service 項(xiàng)目,引入依賴,其中 Spring Boot Actuator 是健康檢查需要依賴的包,本項(xiàng)目基于 SpringBoot 2.3.1,SpringCloud Hoxton.SR12

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-discovery</artifactId>
    </dependency>
</dependencies>

在 application.yml 配置文件中添加如下配置:

server:
  port: 8080

spring:
  application:
    name: consul-service
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        instance-id: ${spring.application.name}:${server.port}

在啟動(dòng)類上添加注解 @EnableDiscoveryClient

@EnableDiscoveryClient
@SpringBootApplication
public class ConsulProducerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConsulProducerApplication.class, args);
    }
}

啟動(dòng)項(xiàng)目,查看 Consul Web 頁面,即可看到服務(wù)注冊(cè)成功


Consul 配置中心

參考上一節(jié)內(nèi)容創(chuàng)建 cousul-config 項(xiàng)目,引入依賴

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-discovery</artifactId>
    </dependency>
</dependencies>

在 bootstrap.yml 配置文件(注意必須使用 bootstrap)中添加如下配置:

server:
  port: 8080

spring:
  application:
    name: consul-service
  # profiles:
    # active: dev # 指定環(huán)境,默認(rèn)加載 default 環(huán)境
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        instance-id: ${spring.application.name}:${server.port}
      config:
        enabled: true # false禁用Consul配置,默認(rèn)為true
        format: yaml  # 表示consul上面文件的格式,有四種:YAML、PROPERTIES、KEY-VALUE、FILES
        prefix: config  # 可以理解為配置文件所在的最外層目錄
        default-context: consul-service # 設(shè)置應(yīng)用的文件夾名稱
        data-key: consul-service-config # Consul的Key/Values中的Key,Value對(duì)應(yīng)整個(gè)配置文件
        # 以上配置可以理解為:加載config/consul-service/文件夾下Key為consul-service-config的Value對(duì)應(yīng)的配置信息
        # 配置環(huán)境分隔符,默認(rèn)值 "," 和 default-context 配置項(xiàng)搭配
        # 例如應(yīng)用 consul-service 分別有環(huán)境 default、dev、test、prod
        # 只需在 config 文件夾下創(chuàng)建 consul-service、consul-service-dev、consul-service-test、consul-service-prod 文件夾即可
        # profile-separator: '-'
        watch:
          enabled: true # 是否開啟自動(dòng)刷新,默認(rèn)值true開啟
          delay: 1000 # 刷新頻率,單位毫秒,默認(rèn)值1000

在啟動(dòng)類上添加注解 @EnableDiscoveryClient

@SpringBootApplication
@EnableDiscoveryClient
// 啟用配置屬性類,當(dāng)SpringBoot程序啟動(dòng)時(shí)會(huì)立即加載@EnableConfigurationProperties注解中指定的類對(duì)象
@EnableConfigurationProperties({MySqlComplexConfig.class})
public class ConsulConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConsulConfigApplication.class, args);
    }
}

定義 MysqlConfig 配置類

@Component
@ConfigurationProperties(prefix = "mysql")
public class MysqlConfig {

    private String host;
    private String username;
    private String password;

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

開發(fā) ConfigController

@RefreshScope // 用于重新刷新作用域?qū)崿F(xiàn)屬性值自動(dòng)刷新
@RestController
public class ConfigController {

    @Autowired
    private MysqlConfig mysqlConfig;

    @GetMapping("getConfig")
    public Map<String, String> getMysqlConfig() {
        HashMap<String, String> map = new HashMap<>();
        map.put("host", mysqlConfig.getHost());
        map.put("username", mysqlConfig.getUsername());
        map.put("password", mysqlConfig.getPassword());
        return map;
    }
}

在 Consul 管理界面添加配置信息,點(diǎn)擊左側(cè)菜單的 Key/Value,按照 bootstrap.yml 中的配置創(chuàng)建 config/consul-service 目錄,在 consul-service 目錄下創(chuàng)建 key:consul-service-config,在 value 添加配置信息

注冊(cè)中心/配置管理 —— SpringCloud Consul

請(qǐng)求 http://localhost:8080/getConfig,可以看到服務(wù)會(huì)從 Consul 中獲取配置,并返回文章來源地址http://www.zghlxwxcb.cn/news/detail-657416.html

到了這里,關(guān)于注冊(cè)中心/配置管理 —— SpringCloud Consul的文章就介紹完了。如果您還想了解更多內(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)文章

  • springCloud Eureka注冊(cè)中心配置詳解

    springCloud Eureka注冊(cè)中心配置詳解

    1、創(chuàng)建一個(gè)springBoot項(xiàng)目 2、在springBoot項(xiàng)目中添加SpringCloud依賴 3、在springBoot項(xiàng)目中創(chuàng)新建一個(gè)子模塊eureka-server: 4、搭建Eureka 添加依賴:在新建一個(gè)子模塊的pom.xml中添加依賴 創(chuàng)建配置文件:在resources文件下創(chuàng)建一個(gè)名為 application.yml (或 application.properties )的配置文件,并

    2024年02月15日
    瀏覽(23)
  • SpringCloud + Gateway(網(wǎng)關(guān)) + Nacos(注冊(cè)中心+配置中心)+ Dubbo(內(nèi)部服務(wù)調(diào)用)

    SpringCloud + Gateway(網(wǎng)關(guān)) + Nacos(注冊(cè)中心+配置中心)+ Dubbo(內(nèi)部服務(wù)調(diào)用)

    Apache Dubbo是一款微服務(wù)開發(fā)框架,它提供了 RPC通信 與 微服務(wù)治理 兩大關(guān)鍵能力 1、協(xié)議支持方面 Feign更加優(yōu)雅簡(jiǎn)單。Feign是通過REST API實(shí)現(xiàn)的遠(yuǎn)程調(diào)用,基于Http傳輸協(xié)議,服務(wù)提供者需要對(duì)外暴露Http接口供消費(fèi)者調(diào)用,服務(wù)粒度是http接口級(jí)的。通過短連接的方式進(jìn)行通信,

    2024年02月06日
    瀏覽(1436)
  • springboot3整合consul實(shí)現(xiàn)服務(wù)注冊(cè)和配置管理快速入門

    springboot3整合consul實(shí)現(xiàn)服務(wù)注冊(cè)和配置管理快速入門

    服務(wù)注冊(cè): 配置管理: 注冊(cè)中心的比較: 在微服務(wù)的世界中,服務(wù)注冊(cè)是必不可少的?,F(xiàn)在比較流行的也就是Consul和Nacos,Zookeeper沒有管理界面,一般不建議使用,而Eureka已經(jīng)處于停更,并且本身就存在很多bug,一般不建議使用! 我之前寫過一篇spring boot整合nacos實(shí)現(xiàn)服務(wù)注

    2024年04月16日
    瀏覽(22)
  • 微服務(wù) - Consul服務(wù)注冊(cè)中心

    微服務(wù) - Consul服務(wù)注冊(cè)中心

    上篇說到構(gòu)建良好的架構(gòu),依托于基礎(chǔ)設(shè)施建設(shè)(自動(dòng)化測(cè)試、自動(dòng)化部署、服務(wù)監(jiān)控,服務(wù)發(fā)現(xiàn)、配置中心等等),決定成敗的往往是基礎(chǔ)設(shè)施建設(shè),所以從搭建一個(gè)注冊(cè)中心和配置中心開始我們新一階段的啟程。 注冊(cè)中心選型 你有沒有思考過這樣一個(gè)問題,為什么會(huì)有這么

    2023年04月23日
    瀏覽(27)
  • SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    路由(route):路由是網(wǎng)關(guān)最基礎(chǔ)的部分,路由信息由一個(gè)ID,一個(gè)目的URL、一組斷言工廠和一 組Filter組成。如果斷言為真,則說明請(qǐng)求URL和配置的路由匹配。 斷言(Predicate):Java8中的斷言函數(shù),Spring Cloud Gateway中的斷言函數(shù)輸入類型是 Spring5.0框架中的ServerWebExchange。Sprin

    2024年04月12日
    瀏覽(91)
  • springcloud/springboot集成NACOS 做注冊(cè)和配置中心以及nacos源碼分析

    springcloud/springboot集成NACOS 做注冊(cè)和配置中心以及nacos源碼分析

    Spring Cloud 是一系列框架的有序集合如服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、消息總線、負(fù)載均衡、熔斷器、數(shù)據(jù)監(jiān)控等。 SpringCloud 將多個(gè)服務(wù)框架組合起來,通過Spring Boot進(jìn)行再封裝,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者提供了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開

    2024年02月08日
    瀏覽(96)
  • 服務(wù)注冊(cè)與發(fā)現(xiàn)Eureka、Zookeeper、Consul 三個(gè)注冊(cè)中心的異同點(diǎn)(CAP理論)

    服務(wù)注冊(cè)與發(fā)現(xiàn)Eureka、Zookeeper、Consul 三個(gè)注冊(cè)中心的異同點(diǎn)(CAP理論)

    Eureka Eureka是由Netflix開源的一個(gè)服務(wù)注冊(cè)和發(fā)現(xiàn)組件,它主要用于構(gòu)建高可用、分布式系統(tǒng)的基礎(chǔ)設(shè)施中。Eureka的服務(wù)器端被稱為Eureka Server,客戶端則是那些需要注冊(cè)的服務(wù)。Eureka具有以下特點(diǎn): 高可用性 :Eureka支持多節(jié)點(diǎn)部署,能夠在節(jié)點(diǎn)故障時(shí)自動(dòng)進(jìn)行故障轉(zhuǎn)移。 自我

    2024年04月22日
    瀏覽(31)
  • 微服務(wù)注冊(cè)中心之Zookeeper,Eureka,Nacos,Consul,Kubernetes區(qū)別

    微服務(wù)注冊(cè)中心之Zookeeper,Eureka,Nacos,Consul,Kubernetes區(qū)別

    微服務(wù)的注冊(cè)中心目前主流的有以下五種: Zookeeper , Eureka , Consul , Nacos , Kubernetes 1.1.1 為什么需要注冊(cè)中心 隨著單體應(yīng)用拆分,首當(dāng)面臨的第一份挑戰(zhàn)就是服務(wù)實(shí)例的數(shù)量較多,并且服務(wù)自身對(duì)外暴露的訪問地址也具有動(dòng)態(tài)性。可能因?yàn)榉?wù)擴(kuò)容、服務(wù)的失敗和更新等

    2024年02月06日
    瀏覽(19)
  • 【微服務(wù)】Nacos注冊(cè)中心(3):配置管理

    給微服務(wù)配置namespace 給微服務(wù)配置namespace只能通過修改配置來實(shí)現(xiàn)。 重啟order-service后,訪問控制臺(tái),可以看到下面的結(jié)果 此時(shí)訪問order-service,因?yàn)閚amespace不同,會(huì)導(dǎo)致找不到userservice,控制臺(tái)會(huì)報(bào)錯(cuò) Nacos的服務(wù)實(shí)例分為兩種l類型: 臨時(shí)實(shí)例:如果實(shí)例宕機(jī)超過一定時(shí)間,

    2024年02月05日
    瀏覽(19)
  • SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊(cè)與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊(cè)與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud=分布式微服務(wù)架構(gòu)的一站式解決方案,是多種微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱微服務(wù)全家桶。 springboot版本選擇: git源碼地址:https://github.com/spring-projects/spring-boot/releases/ SpringBoot2.0新特性:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release springcloud版本選

    2024年02月08日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包