AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

微服務架構落地及其演進

來源: 責編: 時間:2024-06-05 17:36:07 123觀看
導讀微服務架構的定義:圖片如何篩選微服務:圖片三種場景可以考慮使用微服務(Are you tall enough?)規模大(團隊超過10人)業務復雜度高(系統超過5個子模塊)需要長期演進(項目周期超過半年)其他因素篩選微服務軟件功能變化頻繁,快速迭

微服務架構的定義:dPB28資訊網——每日最新資訊28at.com

圖片圖片dPB28資訊網——每日最新資訊28at.com

如何篩選微服務:dPB28資訊網——每日最新資訊28at.com

圖片圖片dPB28資訊網——每日最新資訊28at.com

三種場景可以考慮使用微服務

(Are you tall enough?)dPB28資訊網——每日最新資訊28at.com

  • 規模大(團隊超過10人)
  • 業務復雜度高(系統超過5個子模塊)
  • 需要長期演進(項目周期超過半年)

其他因素篩選微服務

  • 軟件功能變化頻繁,快速迭代,縮短交付周期為核心的業務。
  • 模塊有獨立的生命周期,服務復用,降本增效,減少重復造輪子
  • 有獨立的隔離性需求和擴展性需求(容錯)
  • 簡化的外部依賴(Facade模式場景)

dPB28資訊網——每日最新資訊28at.com

如何拆分微服務:dPB28資訊網——每日最新資訊28at.com

圖片圖片dPB28資訊網——每日最新資訊28at.com

拆分

  1. Domain-Driven Design (DDD)
  • Domain(領域): 領域是指與某個特定問題相關的知識領域和行為。在設計微服務時,首先要識別和定義業務領域。
  • Bounded Context(界限上下文): 界限上下文定義了領域的邊界。在拆分微服務時,要確保每個服務有明確的邊界,獨立承擔特定的業務功能。
  1. 業務功能模塊化
  • 將系統按照業務功能拆分成多個模塊,每個模塊對應一個或多個微服務。例如:訂單服務、用戶服務、支付服務等。dPB28資訊網——每日最新資訊28at.com

  1. 垂直拆分dPB28資訊網——每日最新資訊28at.com

  • 圖片左側展示了不同層次的架構設計,從實體層到接口適配層再到控制層,可以根據這些層次進行垂直拆分,使每個微服務獨立處理特定的功能。dPB28資訊網——每日最新資訊28at.com

構建

dPB28資訊網——每日最新資訊28at.com

12-Factor App 方法論

  • I. 基準代碼: 一份基準代碼,多份部署。每個微服務應該有自己的代碼庫。
  • II. 依賴: 顯式聲明和隔離依賴關系。確保微服務之間的依賴關系清晰明確。
  • III. 配置: 在環境中存儲配置。將配置和代碼分離,以便在不同環境中輕松部署。
  • IV. 后端服務: 把后端服務當作附加資源。微服務應能夠獨立調用其他后端服務。
  • V. 構建、發布、運行: 嚴格分離構建和運行階段。確保每個微服務的構建和運行環境一致。
  • VI. 進程: 以一個或多個無狀態進程運行應用。微服務應該無狀態,方便擴展。
  • VII. 端口綁定: 通過端口綁定提供服務。每個微服務獨立運行并監聽自己的端口。
  • VIII. 并發: 通過進程模型進行擴展。根據需要動態擴展微服務實例。
  • IX. 易處理: 快速啟動和優雅終止,確保最大化健壯性。微服務應快速啟動并能平滑關閉。
  • X. 環境等價: 盡可能的保持開發、預發布、線上環境相同。確保不同環境的一致性。
  • XI. 日志: 把日志當作事件流。集中管理和分析日志。
  • XII. 管理進程: 后臺管理任務作為一次性進程運行。后臺任務應獨立運行。

DevOps 實踐

  • 自動化部署:使用CI/CD管道實現代碼的自動構建、測試和部署。dPB28資訊網——每日最新資訊28at.com

  • 持續監控:對微服務的運行狀態進行持續監控,確保服務的高可用性。dPB28資訊網——每日最新資訊28at.com

    dPB28資訊網——每日最新資訊28at.com

技術選型

  • 選擇合適的技術棧和工具來支持微服務的開發和運維。例如:Spring Boot、Docker、Kubernetes等。dPB28資訊網——每日最新資訊28at.com

dPB28資訊網——每日最新資訊28at.com

微服務架構的兩種建設思路:dPB28資訊網——每日最新資訊28at.com

圖片圖片dPB28資訊網——每日最新資訊28at.com

SpringCloud的技術生態:dPB28資訊網——每日最新資訊28at.com

圖片圖片dPB28資訊網——每日最新資訊28at.com

Spring Cloud提供了一整套微服務架構的解決方案,通過服務注冊與發現、配置管理、消息隊列、分布式跟蹤、服務熔斷等組件,幫助開發者構建高可用、高擴展性的微服務系統。這張生態圖展示了各個組件之間的關系和作用,是理解Spring Cloud生態系統的一個很好的參考。dPB28資訊網——每日最新資訊28at.com

Service(服務)

  • 服務注冊:使用Eureka或Consul進行服務注冊。
  • 服務調用:通過Feign進行服務調用,依賴Ribbon實現負載均衡。
  • 服務跟蹤:使用Sleuth進行分布式服務跟蹤。
  • 服務熔斷:使用Hystrix實現服務熔斷,Turbine用于集群監控。
  • 依賴管理:使用CLI服務調用腳本,任務調度和數據流(Data Flow)管理。
  • 大數據:通過JPA封裝JDBC連接大數據。
  • 配置管理:通過Config Server管理配置,支持本地和遠程Git倉庫。

Consumer(消費者)

  • 消息消費:通過Spring Cloud Stream與RabbitMQ或Kafka集成,實現消息隊列的消費。
  • 服務發現:通過Eureka或Consul發現服務。
  • 服務安全:通過Security實現服務的安全管理。
  • 網關:使用Zuul實現網關功能,處理外部請求。
  • 服務配置:在服務啟動時通過Config Server獲取配置信息。

Spring Boot Bus

  • 廣播消息:用于整個服務集群統一廣播消息,例如刷新配置。

其他組件

  • Cluster管理:使用Redis和其他集群管理工具(如Cluster)管理集群。
  • 容器化部署:使用Docker和Linux進行容器化部署,支持命令行(CLI)調用服務。

消息隊列

  • 消息發布與訂閱:使用Spring Cloud Stream集成RabbitMQ和Kafka,實現消息的發布與訂閱。

配置管理

  • Config Server:管理配置文件,支持從本地或遠程Git倉庫獲取配置,Spring Boot應用在啟動時會從Config Server獲取配置。

安全與網關

  • Security:提供服務的安全認證與授權。
  • Zuul:作為網關,處理外部請求并路由到相應的服務。

分布式跟蹤

  • Sleuth:提供分布式系統的請求跟蹤。
  • Turbine:用于監控Hystrix的集群服務。

負載均衡

  • Ribbon:在Feign調用時,Ribbon提供負載均衡功能。

任務調度與數據流

  • Task:用于任務調度。
  • Data Flow:管理數據流。

微服務和SpringCloud的架構復雜性:dPB28資訊網——每日最新資訊28at.com

圖片 圖片 dPB28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-92099-0.html微服務架構落地及其演進

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Genai技術棧架構指南—十個工具,你知道哪個?

下一篇: 一文搞懂 Spring 循環依賴

標簽:
  • 熱門焦點
Top