最新消息
首頁 最新消息
基于事件驅動的微服務系統的架構注意事項 | 2024-03-11 |
文章来源:由「百度新聞」平台非商業用途取用"http://www.baidu.com/link?url=r0jJeHqbLR6kjyH7wmMGTS_afIEVaVQNqiKekqnn4V0NyPExYuurpUY7p6bFQKMaEHkxomQYponMGty-HtjfbWg8gKtaIZDI33g1XQWwVXW" 使用這兩種架構樣式來構建具有高度可伸縮性、可用性、容錯性和可擴展性的分布式系統nn如今,IT 系統所生成、收集和處理的數據量遠超以往。而且,這些 IT 系統會處理高度復雜的流程(自動執行),并會在系統與設備之間進行跨越典型組織邊界的集成。與此同時,我們期待這些 IT 系統的開發速度更快且開發成本更低,同時具有高可用性、可伸縮性和恢復能力等特點。nn為了實現這些目標,開發者將使用合適的架構樣式和編程范例,例如微服務、事件驅動架構、DevOps 等。利用新構建的工具和框架,可以幫助開發者實現這些預期目標。nn開發者當下正結合使用事件驅動架構 (EDA) 和微服務架構樣式來構建具有高度可伸縮性、可用性、容錯性和并發性且易于開發和維護的系統。nn在本文中,我將討論在使用這兩種架構樣式來構建這些系統時的架構特性、復雜性、關注點、關鍵架構注意事項以及最佳實踐。盡管 API、API 網關和 UI 等組件也是架構方面的重要考慮因素,但在本文中將只重點介紹事件驅動微服務。nn事件驅動架構和微服務架構概述n事件驅動架構 (EDA)已經有很長的歷史。云、微服務和無服務器編程范例以及復雜的開發框架都在不斷地提高 EDA 在實時解決任務關鍵型業務問題方面的適用性。技術和平臺(例如,Kafka、IBM Cloud Pak for Integration和Lightbend)以及開發框架(例如,Spring-cloud-stream、Quarkus和Camel)都為 EDA 開發提供了一流的支持。EDA 還支持流式數據處理,而在開發實時人工智能或機器學習解決方案時,這種處理必不可少。“事件驅動架構的優勢”一文定義了 EDA,并解釋了開發者為何要使用 EDA。n微服務架構已被廣泛采用,可用于下列轉換項目:涉及將單體應用程序分解為自包含的獨立部署服務(使用領域驅動設計來標識)的項目。可以在Martin Fowler & James Lewis 文章中找到有關微服務架構及其特性的全面介紹。微服務可以公開 API,并包含一些用于生產和使用事件以便與 EDA 進行無縫集成的接口。微服務的許多特性使其很適合與 EDA 一起使用。“微服務架構樣式面臨的挑戰和自身的優勢(英文)”一文討論了開發者在實現微服務時面臨的挑戰。nn下表顯示了這兩種架構樣式如何實現互補:nnEDA**微服務架構**在組件服務之間松散耦合 關鍵字標籤:BPM EIP 電子簽核系統選擇 |
|