日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

阿里云ACM:云原生配置管理利器,让云上的Spring Cloud应用配置管理舞动起来

發布時間:2024/8/23 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里云ACM:云原生配置管理利器,让云上的Spring Cloud应用配置管理舞动起来 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在傳統架構中,如果配置信息有變更,通常是登陸服務器手動修改配置來使配置生效。在微服務架構中,應用數和節點數由于微服務化數量激增,導致發布次數增加,配置變更難度加大,通常是將應用配置抽象出來放置在外部的配置中心里,從而實現配置變更的自動化,但這類原生方案會存在依賴嚴重、發布延時高的問題。

Spring Cloud中的標準配置管理方法和存在的問題

以Spring Cloud為例,其提供了Spring Cloud Config組件來默認對配置進行管理。

關于Spring Cloud Config的工作原理,如下圖所示:

和傳統人肉到生產服務器上一臺臺手動修改配置的思路不同,在Spring Cloud中,當用戶配置發生變化時,用戶可以在Git中修改配置,再通過Spring Cloud Config Server動態下發配置,從而在各個機器上動態生效。其整個流程大概如下:

  • 用戶在Git中update和commit配置;
  • Spring Cloud Config Server通過回掉,獲取更新配置;
  • 用戶在其中任一一臺機器上執行配置刷新操作 (圖中為 "post /bus/refresh")
  • 目標機 (App A)在Config Server中拉取最新配置,并發送消息到消息總線中,通知其他機器配置被變更;
  • 所有其他機器通過消息總線獲知配置刷新后,在Config Server中拉取最新配置。

至此,配置修改完成。

Spring Cloud Config組件成功的以配置中心思路解決了靜態配置繁瑣的運維問題,但是Spring Cloud Config仍存在以下問題:

  • 標準方案依賴Git。雖然提供其他存儲支持,但是標準的Git方案飽受爭議,畢竟Git運維在業界算是小眾領域,在關鍵的生產環境中使用得并不多(開發測試環境除外);
  • 配置變更依賴Cloud Bus,架構復雜的同時,存在配置的一致性問題;
  • 整個配置的時效性較低。由于發布路徑長,中間存在多個異步操作,因此從發布到最后所有配置生效,延時可能會是分鐘級別。

阿里云ACM為spring cloud帶來的配置管理優化

阿里云應用配置管理服務ACM,作為Nacos的云上實現,可以將以上的配置管理問題進行優化,配置修改將變得異常簡單和高效,如下圖所示。

整個操作流程分為兩步:

  • 用戶在ACM中修改配置內容;
  • ACM動態推送到所有應用中。

ACM全面兼容Spring框架接口,包括Spring Framework、Spring Boot和Spring Cloud,其為 Spring Cloud編寫的應用配置管理,和Spring Cloud Config對比,由于極簡的架構,帶來了眾多的好處:

  • 配置變更推送性能高,根據阿里巴巴內部的性能統計來看,絕大多數情況下,配置推送0.5秒生效,99.9%場景下,3秒以內能推送到上千臺機器;
  • 運維簡單,不需要額外的Git存儲或Cloud Bus組件,單應用接口即可完成所有配置中心功能;
  • 遵循開源精神,ACM作為Nacos的云上實現,用戶無需額外付費即可使用全部功能。

Spring Cloud用戶可以基于Spring Cloud Config提供的接口將Spring Cloud應用的配置管理無縫遷移到ACM上,大幅度提升基于Spring Cloud框架的微服務應用的配置管理敏捷性。此外,相比于Spring Cloud Config,ACM還擁有多項實用功能,例如,云上配置安全合規,配置灰度發布和回滾等。

如何快速部署ACM

使用Spring Cloud的用戶在阿里云上如果要從Spring Cloud Config切換成ACM方案,在程序業務層代碼無需任何改動,原生@Value標簽直接有效。用戶僅僅需要改動Spring Cloud應用的兩個編譯配置文件即可。

1、修改配置文件

在 bootstrap.properties中添加ACM的連接地址和認證信息,示例如下。其中,endpoint、namesspace、accessKey和secretKey等參數在ACM控制臺上可以直接獲取。

指定spring.application.name和spring.coud.nacos.config.file以后,將決定ACM控制臺上配置名,如上例中,配置名為com.alibaba.nacos.example.properties。

2、在 pom 中添加相關的nacos starter依賴

如下圖所示。

以上兩處修改完成之后,重新打包編譯Spring Cloud程序,即可將配置管理轉為ACM托管。

Spring Cloud 代碼和配置變更實例

以Spring Cloud代碼示例為例,/echo 接口將返回動態配置參數 configValue 的值。

將以下代碼片段示例打包運行,并在對應ACM控制臺上添加配置,設置對應配置名DataID,并點擊發布。

最后在本地運行curl命令,假設http監控端口為8080:

則將返回:

返回true值后,即配置成功。詳細的程序實例,可參照[ACM官方文檔]()。

?

原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的阿里云ACM:云原生配置管理利器,让云上的Spring Cloud应用配置管理舞动起来的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。