1. 程式人生 > >Spring Cloud Alibaba遷移指南(三):極簡的 Config

Spring Cloud Alibaba遷移指南(三):極簡的 Config

自 Spring Cloud 官方宣佈 Spring Cloud Netflix 進入維護狀態後,我們開始製作《Spring Cloud Alibaba遷移指南》系列文章,向開發者提供更多的技術選型方案,並降低遷移過程中的技術難度。

第一篇:一行程式碼從 Hystrix 遷移到 Sentinel
第二篇:零程式碼替換 Eureka

第三篇,我們一起來看看 Spring Cloud Alibaba 是如何使用極簡的方式來做到分散式應用的外部化配置,使得應用在執行時動態更新某些配置成為可能。 

目前關於 Spring Cloud Config 的標準實現開源方面有三個,分別是:

  • Spring Cloud Alibaba Nacos Config
  • Spring Cloud Consul Config
  • Spring Cloud Config (Spring Cloud 官方整合的方式)

那面對於這麼多的實現,Spring Cloud Alibaba Nacos Config 的實現它具有哪些優勢呢?大致從以下幾個方面來全方位的分析。

  Spring Cloud Alibaba Nacos Config Spring Cloud Consul Config Spring Cloud Config (Spring Cloud 官方整合的方式)
配置儲存 直接依賴於 Nacos。 直接依賴於 Consul。 通常的組合是Config-server 和 git。
配置重新整理 無需人工干預,自動秒級重新整理。 無需人工干預,自動秒級重新整理。 需要人工干預,手動觸發/bus/refresh 介面,才能達到配置動態重新整理的效果。
是否整合第三方服務 不需要。 不需要。 儲存需要依賴於git,重新整理依賴於 RabbitMQ 。
運維元件 只需要運維 Nacos 本身即可。 只需要運維 Consul本身。 通常是要運維 Config-erver,MQ 的服務,提供儲存能力的 Git。
比較重的第三方依賴 無,直接引入starter 即可 。 無,直接引入 starter 即可。 不僅需要引入 starter,而且還需要引入配置重新整理依賴的 spring-cloud-starter-bus-amqp 。
推送狀態 支援
更新歷史查詢 支援
配置回滾 支援
配置加解密 支援 待確認 待確認
多重容災 支援

同時 Spring Cloud Alibaba 還可以基於 Spring Cloud Alibaba Nacos Config 無縫對接雲上的 ACM,這給一些需要上雲的使用者帶來了極其的方便。綜上全方位的對比,Spring Cloud Alibaba Nacos Config 無疑提供了價效比最高的 Spring Cloud Config 的開源實現。

下面以一個快速上手的案例體驗一下 Spring Cloud Alibaba Nacos Config 的實現是如何使用的。同時也提供了簡單的方式給那些想轉用 Spring Cloud Alibaba Nacos Config 的同學做一些參考。

第 1 步:Nacos 服務端初始化。

1.1 啟動 Nacos Server。啟動方式可見 Nacos 官網 。
1.2 新增配置。啟動好 Nacos 之後,在 Nacos 控制檯新增如下的配置。

Data ID:    ${spring.application.name}.properties

Group  :    DEFAULT_GROUP

配置格式:    Properties

配置內容:    ${key}=${value}

__注意__:

  • Data Id 是以 properties(預設的副檔名方式)為副檔名。
  • 檔名以 ${spring.application.name} 配置引數為主。
  • 配置內容:當你想從其他的儲存源(例如: git) 要往 Nacos 進行遷移的話,目前只能通過手動的方式進行逐個的新增。${key} 是根據您的業務場景需要配置的或者遷移的 key, ${value} 就是對應的具體值。

第 2 步:Spring Cloud Alibaba Nacos Config 客戶端使用方式。

2.1 新增 maven 依賴。為了能夠在應用程式中使用 Nacos 來實現應用的外部化配置,在構建應用的同時或者已經存在的應用需要引入一個 Starter,如下所示:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.2.2.BUILD-SNAPSHOT</version>
</dependency>

2.2 新增相關配置。客戶端需要和 Nacos 服務端進行通訊,因此需要配置 Nacos 服務端的地址。在您的應用配置檔案中新增如下配置,這裡以 application.properties 為例。

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

完成以上兩個步驟,就已經完成了 Spring Cloud Alibaba Nacos Config 的基本使用。完整的使用可參考 Spring Cloud Alibaba 的管方 Wiki 文件

相關推薦

Spring Cloud Alibaba遷移指南Config

自 Spring Cloud 官方宣佈 Spring Cloud Netflix

Spring Cloud Alibaba遷移指南零程式碼替換 Eureka

自 Spring Cloud 官方宣佈 Spring Cloud Netflix

Spring Cloud Alibaba遷移指南零代碼替換 Eureka

關於 lis maven lee work 啟動 默認 hystrix alibaba 自 Spring Cloud 官方宣布 Spring Cloud Netflix 進入維護狀態後,我們開始制作《Spring Cloud Alibaba遷移指南》系列文章,向開發者提供更

spring cloud實戰與思考 微服務之間通過fiegn上傳一組文件

ets inf str ceo iter protected let pan ins 需求場景:   用戶調用微服務1的接口上傳一組圖片和對應的描述信息。微服務1處理後,再將這組圖片上傳給微服務2進行處理。各個微服務能區分開不同的圖片進行不同處理。   上一篇博客已經討

Spring cloud微服務實戰——基於OAUTH2.0統一認證授權的微服務基礎架構升級

前言 從2018年年初寫的一篇主題為 Spring cloud微服務實戰——基於OAUTH2.0統一認證授權的微服務基礎架構的文章後就很少更新了。自從小寶貝誕生和公司業務的繁忙,年初計劃每週更新一篇博文的計劃已經落空了。年底了,終於清閒了些。 升級 Spring cloud微

Spring Cloud Alibaba遷移指南2一行程式碼從Hystrix遷移到Sentinel

開發十年,就只剩下這套架構體系了! >>>   

Spring Cloud Alibaba學習筆記3 - Ribbon

1.手寫一個客戶端負載均衡器   在瞭解什麼是Ribbon之前,首先通過程式碼的方式手寫一個負載均衡器 RestTemplate restTemplate = new RestTemplate(); // 獲取請求示例 List<ServiceInstance> instances = dis

Spring Cloud Alibaba學習筆記23 - 呼叫鏈監控工具Spring Cloud Sleuth + Zipkin

隨著業務發展,系統拆分導致系統呼叫鏈路愈發複雜一個前端請求可能最終需要呼叫很多次後端服務才能完成,當整個請求陷入效能瓶頸或不可用時,我們是無法得知該請求是由某個或某些後端服務引起的,這時就需要解決如何快讀定位服務故障點,以對症下藥。於是就有了分散式系統呼叫跟蹤的誕生。 Spring Cloud Sleuth

Java多線程編程模式實戰指南Two-phase Termination模式

增加 row throws mgr 額外 finally join table 還需 停止線程是一個目標簡單而實現卻不那麽簡單的任務。首先,Java沒有提供直接的API用於停止線程。此外,停止線程時還有一些額外的細節需要考慮,如待停止的線程處於阻塞(等待鎖)或者等待狀態(等

Spring Cloud Eureka原理分析註冊過程-服務端

Eureka的官方文件和Spring Cloud Eureka文件都有很多含糊的地方,其他資料也不多,只有讀讀原始碼維持生活這樣子…… 本文將不會詳細介紹每個細節,而是講述一些關鍵的地方,便於查閱。 一些好的參考資料 對讓人一臉懵逼的region和zone的解釋 攜程對Eureka機制的剖析

Spring Cloud Eureka原理分析續租、下線、自我保護機制和自動清理服務端

續租、下線等操作比較直觀,實際上也不復雜。讓我們自己想想它們大概會在服務端有什麼操作。 renew: 更新Lease的lastUpdateTimestamp, 更新一下InstanceInfo的最新狀態。然後呼叫其他同伴節點的renew介面。 cancel:把lease從registry中移除,設

Spring Boot 實踐折騰記三板斧,Spring Boot下使用Mybatis

你要搞清楚自己人生的劇本:不是你父母的續集,不是你子女的前傳,更不是你朋友的外篇。對待生命你不妨大膽冒險一點,因為好歹你要失去它。——源自尼采 開始前… 上面的金句是被轉載很多的一句話,Spring Boot也有自己的舞臺,只是這個舞臺還沒有大量展開

Java多執行緒程式設計模式實戰指南Two-phase Termination模式

 本文由本人首次釋出在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination 停止執行緒是一個目標簡單而實現卻不那麼簡單的

機器學習入坑指南簡單線性迴歸

學習了「資料預處理」之後,讓我們一起來實現第一個預測模型——簡單線性迴歸模型。 一、理解原理 簡單線性迴歸是我們接觸最早,最常見的統計學分析模型之一。 假定自變數 xxx與因變數 yyy 線性相關,我們可以根據一系列已知的 (x,y)(x,y)(x,y) 資料

Backbone入門指南Events事件管理

6. Events (事件管理) 從這一章開始,我將正式介紹Backbone的內容,過程中會有許多例子和程式碼,你應該將這些程式碼複製到你的頁面,並檢視它們的執行效果。 我介紹的第一個模組是Ba

Spring-Cloud-Ribbon學習筆記入門

instance pub auto pom.xml forname 註冊 yml 中心 有一個 簡介 Spring Cloud Ribbon是一個基於Http和TCP的客戶端負載均衡工具,它是基於Netflix Ribbon實現的。它不像服務註冊中心、配置中心、API網關那

Spring-Cloud-Ribbon學習筆記自定義負載均衡規則

lan cse 重新啟動 ping for obi .config 流行 prope Ribbon自定義負載均衡策略有兩種方式,一是JavaConfig,一是通過配置文件(yml或properties文件)。 需求 假設我有包含A和B服務在內的多個微服務,它們均註冊在一個E

Cortex-M3 入門指南時鐘總線與復位時鐘控制器

關系 有著 寄存器 系統時鐘 實時時鐘 參數 www 開發 正整數 【reset clock control 復位和時鐘控制器】 時鐘信號對於處理器非常重要,比如我們熟悉的 CPU 就是由時鐘信號驅動的,而主頻就是內核的的時鐘信號頻率。Cortex-M3 有著復雜

Spring Cloud服務提供與調用 Eureka【Finchley 版】

fan default fun cer 觀察 微服務 divide 動態 erl Spring Cloud(三):服務提供與調用 Eureka【Finchley 版】 發表於 2018-04-15 | 更新於 2018-05-07 | 上一篇文章我們介紹了 Eure