日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

微服務架構中的通信風格

來源: 責編: 時間:2024-07-01 17:15:16 228觀看
導讀在微服務架構中,通信是關鍵要素,關于選擇最有效的服務間交互方法的討論也非常廣泛。在這篇介紹性文章中,我們將探討并總結微服務的最佳通信策略,提供關于何時以及如何有效使用每種通信風格的見解。交互風格要有效理解服務

在微服務架構中,通信是關鍵要素,關于選擇最有效的服務間交互方法的討論也非常廣泛。在這篇介紹性文章中,我們將探討并總結微服務的最佳通信策略,提供關于何時以及如何有效使用每種通信風格的見解。Qgx28資訊網——每日最新資訊28at.com

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

交互風格

要有效理解服務在微服務架構中如何通信,首先必須熟悉可用的交互風格。每種風格都有其獨特的優點和缺點。深入了解這些細微差別對于在選擇適當的通信機制之前做出明智決策至關重要。這一基礎知識確保所選方法能夠很好地與系統的具體要求和挑戰相契合。Qgx28資訊網——每日最新資訊28at.com

交互風格可以分為兩個維度,第一個維度是交互是 一對一 還是 一對多:Qgx28資訊網——每日最新資訊28at.com

  • 一對一 — 每個客戶端請求由一個服務處理。
  • 一對多 — 每個請求由多個服務處理。

第二個維度是交互是 同步 還是 異步。Qgx28資訊網——每日最新資訊28at.com

  • 同步 — 客戶端期望服務及時響應,甚至可能會阻塞等待。
  • 異步 — 客戶端不會阻塞,響應(如果有的話)不一定會立即發送。

下表展示了不同的維度:Qgx28資訊網——每日最新資訊28at.com

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

通信維度Qgx28資訊網——每日最新資訊28at.com

讓我們簡要討論每一種。Qgx28資訊網——每日最新資訊28at.com

一對一交互:Qgx28資訊網——每日最新資訊28at.com

  • 請求/響應 — 服務客戶端向服務發送請求并等待響應。客戶端期望響應及時到達,甚至可能會阻塞等待。這種交互風格通常導致服務之間緊密耦合。
  • 異步請求/響應 — 服務客戶端向服務發送請求,服務異步回復。客戶端不會阻塞等待,因為服務可能很長時間不發送響應。
  • 單向通知 — 服務客戶端向服務發送請求,但不期望或發送回復。

一對多交互Qgx28資訊網——每日最新資訊28at.com

  • 發布/訂閱 — 客戶端發布通知消息,感興趣的服務消費消息。
  • 發布/異步響應 — 客戶端發布請求消息,然后等待一段時間,接收感興趣的服務的響應。

請記住,一個服務可以有多種通信方式。Qgx28資訊網——每日最新資訊28at.com

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

使用同步遠程過程調用模式通信

客戶端向服務發送請求,服務處理請求并發送響應。某些客戶端可能會阻塞等待響應,而其他客戶端可能具有反應式、非阻塞架構。但與使用消息傳遞不同,客戶端假設響應會及時到達。Qgx28資訊網——每日最新資訊28at.com

下圖展示了RPI的工作原理。客戶端的業務邏輯調用由 RPI代理適配器類 實現的 代理接口。RPI代理 向服務發出請求。Qgx28資訊網——每日最新資訊28at.com

請求由 RPI服務器適配器類 處理,該類通過接口調用服務的業務邏輯。然后,它將回復發送回 RPI代理,后者將結果返回給客戶端的業務邏輯。Qgx28資訊網——每日最新資訊28at.com

代理接口 通常封裝了底層通信協議。有很多協議可供選擇,我們重點關注最流行的協議REST和gRPC。Qgx28資訊網——每日最新資訊28at.com

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

1.REST API

REST的一個關鍵概念是資源,它通常代表一個業務對象(如客戶或產品)或一組業務對象。REST使用HTTP動詞來操作資源,這些資源通過URL引用。例如,GET請求返回資源的表示,通常是XML文檔或JSON對象,盡管也可以使用其他格式(如二進制)。POST請求創建一個新資源,PUT請求更新一個資源。Qgx28資訊網——每日最新資訊28at.com

REST API的挑戰:Qgx28資訊網——每日最新資訊28at.com

  • 在單個請求中獲取多個資源REST資源通常關注業務對象,如客戶和訂單,這給一次請求獲取多個相關對象帶來了挑戰。例如,獲取訂單及其關聯的客戶通常需要多次API調用。常見的解決方法是增強API,使客戶端可以在一次調用中獲取相關資源,例如使用帶有“expand”查詢參數的GET請求來指定相關資源。雖然在很多情況下有效,但這種方法可能復雜且耗時,這促使了像GraphQL這樣的替代技術的興起,以實現更簡化的數據檢索。
  • 將操作映射到HTTP動詞*REST API設計中的一個顯著挑戰是如何將業務對象上的特定操作分配給正確的HTTP動詞。例如,更新訂單可能涉及各種操作,如取消或修改*,并非所有更新都符合使用HTTP PUT方法的冪等性要求。常見的方法是為不同的更新操作創建子資源,例如使用POST取消(POST /orders/{orderId}/cancel)或修改訂單(POST /orders/{orderId}/revise)。另一種方法是在URL查詢參數中包含操作。然而,這些方法可能并不完全遵循REST原則。這種將操作映射到HTTP動詞的困難促使了gRPC等替代技術的流行。

使用REST有很多優點:Qgx28資訊網——每日最新資訊28at.com

  • 簡單且熟悉。
  • 可以在瀏覽器中使用插件(例如Postman)或在命令行中使用curl測試HTTP API(假設使用JSON或其他文本格式)。
  • 直接支持請求/響應風格的通信。
  • HTTP當然是防火墻友好的。?不需要中間代理,簡化了系統架構。

使用REST也有一些缺點:Qgx28資訊網——每日最新資訊28at.com

  • 僅支持請求/響應風格的通信。
  • 可用性降低。由于客戶端和服務直接通信,沒有中介緩沖消息,它們必須在整個交換期間都在運行。
  • 客戶端必須知道服務實例的位置(URL)。在現代應用中,這是一個不小的問題。客戶端必須使用所謂的服務發現機制來定位服務實例。
  • 在單個請求中獲取多個資源具有挑戰性。?將多個更新操作映射到HTTP動詞有時很困難。

2.使用gRPC

REST API通常在使用有限的HTTP動詞處理多個更新操作時遇到困難。gRPC通過使用二進制消息協議提供了一個替代方案,強調API優先的方法。它利用谷歌開發的Protocol Buffers(Protobuf),這是一種語言中立的序列化系統,允許開發人員使用基于Protocol Buffers的接口定義語言(IDL)定義API。此設置使得可以使用Protocol Buffer編譯器自動生成各種編程語言(如Java、C#、NodeJS和GoLang)的客戶端和服務器代碼。gRPC API運行在HTTP/2之上,支持簡單的請求/響應和流式RPC,服務器可以向客戶端發送消息流或反之亦然。此技術支持創建具有強類型方法的明確服務接口,為處理微服務架構中的各種復雜通信模式提供了強大的框架。Qgx28資訊網——每日最新資訊28at.com

gRPC有幾個優點:Qgx28資訊網——每日最新資訊28at.com

  • 設計具有豐富更新操作的API非常簡單。
  • 具有高效、緊湊的IPC機制,特別是在交換大型消息時。
  • 雙向流支持RPI和消息傳遞風格的通信。
  • 使客戶端和服務在各種編程語言之間的互操作性成為可能。

gRPC也有一些缺點:Qgx28資訊網——每日最新資訊28at.com

  • JavaScript客戶端使用gRPC API比使用REST/JSON API工作量更大。
  • 較舊的防火墻可能不支持HTTP/2。

gRPC是REST的一個有力替代方案,但像REST一樣,它也是一種同步通信機制,因此也存在部分失敗的問題。Qgx28資訊網——每日最新資訊28at.com

使用異步消息傳遞模式通信

使用消息傳遞時,服務通過異步交換消息進行通信。基于消息傳遞的應用通常使用消息代理,其作為服務之間的中介。服務客戶端通過發送消息向服務請求。如果服務實例預期要回復,它會通過發送單獨的消息回復客戶端。由于通信是異步的,客戶端不會阻塞等待回復。相反,客戶端假設回復不會立即收到。Qgx28資訊網——每日最新資訊28at.com

1.消息傳遞概述

根據Gregor Hohpe和Bobby Woolf的《企業集成模式》一書:Qgx28資訊網——每日最新資訊28at.com

消息通過消息通道交換。發送者(應用程序或服務)將消息寫入通道,接收者(應用程序或服務)從通道讀取消息。讓我們先看一下消息,然后再看通道。Qgx28資訊網——每日最新資訊28at.com

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

2.關于消息

消息由消息頭和消息體組成。Qgx28資訊網——每日最新資訊28at.com

消息頭 是一組名稱-值對,以及描述所發送數據的元數據。除了由消息發送者提供的名稱-值對外,消息頭還包含名稱-值對,例如由發送者或消息傳遞基礎設施生成的唯一消息ID,以及一個可選的返回地址,指定應將回復寫入的消息通道。Qgx28資訊網——每日最新資訊28at.com

消息體 是以文本或二進制格式發送的數據。Qgx28資訊網——每日最新資訊28at.com

消息有幾種不同類型:Qgx28資訊網——每日最新資訊28at.com

  • 文檔 — 包含僅數據的通用消息。接收者決定如何解釋它。命令的回復是文檔消息的一個例子。
  • 命令 — 包含指示接收者執行某些操作的數據。客戶端發出的消息是命令的一個例子。
  • 事件 — 包含描述發生的事件的數據。發布/訂閱消息通常是事件的一個例子。

3.關于消息通道

消息通過消息通道 發送。消息通道是消息傳遞基礎設施的關鍵組成部分。雖然消息是邏輯上的概念,但消息通道通常是由消息代理實例化的具體、物理概念。消息通道有兩種類型:點對點通道和發布-訂閱通道。Qgx28資訊網——每日最新資訊28at.com

下圖展示了它們是如何工作的:Qgx28資訊網——每日最新資訊28at.com

  • 點對點通道 將消息從一個發送者傳遞到一個接收者。消息代理確保每條消息恰好被一個接收者消費。這種類型的通道適用于發送命令和發布單一消費者事件。消息代理通常通過將消息放入隊列實現這一點。
  • 發布-訂閱通道 將消息從一個發送者傳遞到多個接收者。消息代理確保每條消息被所有接收者消費。這種類型的通道適用于發布事件。消息代理通常通過將消息放入主題實現這一點。

4.消息傳遞的優缺點

使用消息傳遞有幾個優點:Qgx28資訊網——每日最新資訊28at.com

  • 它是異步的,不需要客戶端和服務在通信期間都運行。
  • 它使您能夠實現發布/訂閱和發布/異步響應風格的通信。
  • 它解耦了客戶端和服務。客戶端通過寫入通道請求服務,服務通過從通道讀取消息提供服務。客戶端和服務不直接通信,因此無需相互了解位置。
  • 客戶端可以將請求寫入負載均衡器或消息代理上的虛擬隊列,實現服務實例的負載均衡。
  • 消息代理會自動將消息發送到服務實例,因此服務實例崩潰時消息不會丟失。

使用消息傳遞有一些缺點:Qgx28資訊網——每日最新資訊28at.com

  • 復雜性增加。使用消息傳遞時,您必須編寫代碼來處理消息發送和接收。
  • 調試復雜。消息傳遞引入了一種新形式的通信,您必須跟蹤消息的狀態和流動來調試系統。
  • 遇到傳遞消息的基礎設施開銷。消息傳遞基礎設施可能會引入開銷,導致某些消息傳遞方案的性能下降。
  • 使用消息傳遞時,調試和測試系統變得更復雜。

最后

微服務通信方法的選擇取決于系統的具體需求和設計考量。同步方法(如REST和gRPC)適用于需要及時響應的場景,而異步消息傳遞則在解耦服務、提高系統可靠性和擴展性方面表現出色。理解這些方法的優缺點以及適用場景,是設計高效、可擴展和可靠的微服務架構的關鍵。希望本文能為您的微服務通信方法選擇提供有價值的指導和參考。Qgx28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-97898-0.html微服務架構中的通信風格

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

上一篇: Python 中實現緩存的三種方式

下一篇: 為什么搜索的未來是向量?

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久久88色偷偷免费| 一本久久综合亚洲鲁鲁五月天| 国产精品美女www爽爽爽| 国产精品中文字幕欧美| 国产中文一区二区| 亚洲国产一区二区三区a毛片| 日韩亚洲欧美成人一区| 亚洲欧美视频在线观看视频| 久久久久久久97| 欧美激情二区三区| 国产精品男gay被猛男狂揉视频| 国产色爱av资源综合区| 亚洲国产欧美一区| 亚洲少妇诱惑| 久久久久久久久一区二区| 欧美精品在线观看91| 国产日产欧美精品| 亚洲黄色三级| 亚洲欧美综合国产精品一区| 久久在线播放| 国产精品一级在线| 亚洲激情av在线| 亚洲欧美日韩一区二区| 美女成人午夜| 国产精品影音先锋| 亚洲精品中文字幕在线| 欧美一区二区三区男人的天堂| 欧美电影免费| 国产小视频国产精品| 99精品国产一区二区青青牛奶| 久久精彩视频| 国产精品久久久久久久久免费樱桃| 樱桃成人精品视频在线播放| 亚洲专区在线| 欧美区在线观看| 影音先锋亚洲电影| 亚洲欧美精品在线观看| 欧美国产丝袜视频| 国产综合色精品一区二区三区| 亚洲视频电影图片偷拍一区| 欧美成人免费全部| 韩国女主播一区| 亚洲午夜久久久久久久久电影网| 免费观看在线综合色| 国产色视频一区| 亚洲自拍偷拍麻豆| 欧美日韩在线播放三区| 亚洲欧洲另类| 老牛影视一区二区三区| 国产一区二区精品久久91| 亚洲一区二区在线视频| 欧美另类变人与禽xxxxx| 在线日韩成人| 久久久久久久久久久久久女国产乱| 国产精品网站在线| 亚洲少妇诱惑| 欧美日韩国产亚洲一区| 亚洲破处大片| 麻豆精品精品国产自在97香蕉| 国产一区二区三区高清在线观看| 亚洲免费在线视频| 国产精品国色综合久久| 一区二区三区 在线观看视| 欧美激情第4页| 亚洲激情第一区| 欧美第一黄色网| 在线日韩视频| 狂野欧美性猛交xxxx巴西| 好吊色欧美一区二区三区视频| 欧美一区二区三区四区高清| 国产精品羞羞答答| 亚洲欧美一区二区精品久久久| 国产精品高潮粉嫩av| 亚洲一区成人| 国产精品裸体一区二区三区| 亚洲性夜色噜噜噜7777| 国产精品theporn88| 亚洲午夜久久久| 国产精品久久99| 亚洲免费影视第一页| 国产精品丝袜xxxxxxx| 午夜伦理片一区| 国产麻豆综合| 性久久久久久久久| 国产午夜精品在线| 久久久久久高潮国产精品视| 黄色欧美成人| 美女网站久久| 亚洲精品一区在线观看香蕉| 欧美精品九九| 中文av一区特黄| 国产精品乱码一区二区三区 | 亚洲日本免费电影| 欧美精品三级日韩久久| 一区二区三区www| 国产精品毛片高清在线完整版| 午夜精品久久久久久久久久久| 国产日韩在线视频| 久久综合色一综合色88| 亚洲国产日韩欧美在线99| 美女网站在线免费欧美精品| 亚洲美女av网站| 国产精品成人一区二区网站软件| 午夜精品久久久久久久久| 国产在线精品一区二区中文| 久久视频一区二区| 亚洲美女毛片| 国产精品久久77777| 久久久久国产一区二区| 亚洲国内精品| 欧美性猛交视频| 欧美在线视频观看免费网站| 亚洲第一福利视频| 欧美日精品一区视频| 欧美一区二区三区另类| 在线成人亚洲| 欧美午夜不卡| 久久久99爱| 日韩网站在线看片你懂的| 国产精品拍天天在线| 久久香蕉国产线看观看av| 亚洲伦理中文字幕| 国产情侣久久| 欧美激情亚洲另类| 欧美一区二区三区免费看| 亚洲国产精品久久久久婷婷老年| 国产精品草莓在线免费观看| 久久精品国产久精国产爱| 亚洲免费观看视频| 国产欧美精品一区| 欧美久久久久中文字幕| 欧美一级专区| 亚洲精品乱码久久久久久日本蜜臀 | 欧美日韩三级| 久久久女女女女999久久| av成人老司机| 一区二区三区无毛| 欧美性猛交视频| 久久综合色播五月| 亚洲专区一区二区三区| 91久久精品网| 国产视频精品xxxx| 欧美日韩精品在线观看| 久久欧美中文字幕| 亚洲综合不卡| 亚洲精品孕妇| 韩日在线一区| 国产精品久久久久久久app| 免费久久99精品国产| 香蕉亚洲视频| 一区二区三区国产盗摄| 在线欧美一区| 亚洲欧洲精品一区| 中文日韩在线视频| 欧美美女视频| 亚洲一区二区三区在线观看视频 | 久久综合成人精品亚洲另类欧美| 久久精品国产一区二区电影| 国产欧美日韩免费看aⅴ视频| 亚洲黄网站在线观看| 久久久精品动漫| 99re66热这里只有精品3直播| 欧美大片免费| 国模精品娜娜一二三区| 久久久久国产成人精品亚洲午夜| 亚洲国产精品日韩| 国产精品自拍三区| 欧美精品123区| 久久精品一区四区| 亚洲一级一区| 亚洲欧洲在线免费| 欧美日韩国内自拍| 国产女优一区| 亚洲午夜久久久久久久久电影院| 久久成人一区| 国产精品久久久久久久久久妞妞| 一本色道久久综合亚洲二区三区| 欧美精品一区二区三区蜜桃| 99天天综合性| 国产精品自在线| 久久综合电影| 亚洲综合电影| 亚洲欧美日韩精品久久亚洲区 | 欧美激情亚洲国产| 久久成人精品无人区| 亚洲国产精品一区在线观看不卡 | 韩国av一区| 国产一区二区三区在线播放免费观看| 国产精品三区www17con| 亚洲综合999| 亚洲女人天堂av| 99国产精品自拍| 亚洲人成亚洲人成在线观看图片| 在线播放中文一区| 激情国产一区| 狠狠色综合网| 国内精品免费在线观看| 国产综合久久| 黄色精品一二区| 亚洲高清视频一区二区| 亚洲二区视频在线| 在线观看91精品国产麻豆| 在线成人av| 小嫩嫩精品导航|