2023-06-27 09:02:49來源:Java極客技術
我們都知道現(xiàn)在的項目開發(fā)中都是一個微服務一個微服務的部署,然后每個微服務之間都是相對獨立的,不會再像之前的老項目所有的不同的功能模塊都集成在一個項目中了,但是每個微服務之間的通信問題,就成了一個非常重要的內容了。今天了不起就陪著大家來了解一下這個微服務之間的通信方式,如果面試官問到了,就看你怎么發(fā)揮了。
圖片
(資料圖片僅供參考)
其實微服務之間的通信方式,如果讓了不起來回答的話,無非就是三種內容,同步通信,異步通信,事件驅動架構(EDA),但是也有很多人會說,實際上這個微服務之間的通信方式也可以歸結為兩種,一種就是同步通信,一種就是異步通信,而這個事件驅動架構并不能算是一種通信方式,了不起覺得不對,他其實也算是一種,只不過沒有那么的標準罷了,個人理解問題,反正只要能回答上兩種,其實就已經算是合乎標準的回答了。
同步通信微服務之間通過請求-響應的方式進行通信,例如 RESTful API 和 RPC。通信過程中,請求方需要等待響應方的返回結果,因此可靠性較高,但可能會出現(xiàn)請求排隊、線程阻塞等問題,從而影響系統(tǒng)的響應速度和并發(fā)性能。
異步通信微服務之間通過消息隊列進行異步通信,例如Kafka和RabbitMQ。通信過程中,發(fā)送方向消息隊列發(fā)送消息,接收方從消息隊列中消費消息,消息傳輸以異步的方式進行,不需要等待接收方的響應。由于解耦性高,消息隊列還可以支持發(fā)布-訂閱模式,消息得以廣播到多個服務中,助于構建高可伸縮的系統(tǒng)。不過異步通信也可能導致延遲較高,以及可靠性和容錯性較差等問題。
事件驅動架構(EDA)微服務之間通過發(fā)布-訂閱模式進行通信,例如Apache Kafka和AWS SNS/SQS。通信過程中,發(fā)布者發(fā)布事件,訂閱者訂閱事件,事件傳遞以異步的方式進行。通過EDA,不同服務之間可以實現(xiàn)松耦合通信,提高系統(tǒng)的可伸縮性和彈性,但需要謹慎處理網(wǎng)絡分區(qū)等極端情況,以避免出現(xiàn)一致性等問題。
既然我們都已經知道了這個微服務之間的通信方式了,那么是不是得看看微服務通信實現(xiàn)呢?
微服務通信實現(xiàn)服務注冊與發(fā)現(xiàn)服務注冊與發(fā)現(xiàn)是微服務架構的關鍵組件之一。它允許服務在啟動時注冊其自身,并通過服務發(fā)現(xiàn)機制向其他服務公開其位置。為了實現(xiàn)服務注冊與發(fā)現(xiàn),我們通常使用以下組件:
ZooKeeper:
ZooKeeper 是一個具有高可用性和可擴展性的分布式協(xié)調服務。它可以用于服務注冊和發(fā)現(xiàn),以及配置管理。
etcd:etcd 是一個分布式鍵值存儲系統(tǒng),用于服務注冊和發(fā)現(xiàn),并提供強一致性保證。
Consul:Consul 是一個分布式服務發(fā)現(xiàn)和配置管理系統(tǒng)。它支持多數(shù)據(jù)中心、健康檢查和負載均衡等功能。
服務調用
服務調用是微服務之間通信的另一個重要組件。它包括客戶端負載均衡、服務降級、熔斷和容錯等功能。為了實現(xiàn)服務調用,我們通常使用以下組件:
Ribbon:Ribbon 是一個負載均衡器,它可以幫助我們在集群中平衡負載。它支持多種負載算法和服務發(fā)現(xiàn),可以與Eureka等注冊中心集成。
Feign:Feign 是一個聲明式的 REST 客戶端,它使編寫 REST 客戶端變得更加簡單。我們可以使用注解來定義需要訪問的服務接口,并且在運行時自動生成實現(xiàn)代碼。
Hystrix:Hystrix 是一種容錯和熔斷框架,它可以幫助我們處理分布式系統(tǒng)中的故障,并防止故障擴散。Hystrix 通過控制線程池和請求隊列來實現(xiàn)熔斷機制,從而避免系統(tǒng)崩潰。
Resilience4j:Resilience4j 是一個輕量級的容錯庫,它提供了諸如熔斷、超時、重試和限流等功能。與Hystrix相比,Resilience4j提供了更為靈活和集成化的解決方案。
其實如果你掌握到這些內容的時候,那么面試中問到關于微服務之間的通信方式的話,你回答起來應該問題就不大了。
關鍵詞:
我們都知道現(xiàn)在的項目開發(fā)中都是一個微服務一個微服務的部署,然后每個
Java反射和動態(tài)代理是Java語言中非常強大而且常用的黑科技,它們可以讓
該文章對前端開發(fā)人員來說是一個非常有價值的資源。它提供了一個集中的
你好呀,我是歪歪。前兩天在看SOFABoot的時候,看到一個讓我眼前一亮的
1、新的星座時間表星座日期已經變換!由于地軸變動,太陽系移動及各恒
島嶼多而散,海域大而廣,這是有著“東海漁都”之稱的舟山普陀的地理環(huán)
本文轉自【中央氣象臺】;甘肅陜西山西四川等地將有強對流天氣一、河北
6月26日北向資金減持78 74萬股永鼎股份。近5個交易日中,獲北向資金減
合肥市瑤海區(qū)為新就業(yè)群體送粽子送清涼。打造居民家門口的服務陣地
04:352022年我國數(shù)字經濟規(guī)模達50 2萬億元,總量穩(wěn)居世界第二,占GDP比
6月26日,招商中證科創(chuàng)創(chuàng)業(yè)50ETF最新單位凈值為0 577元,累計凈值為0 5
1、工程規(guī)費就是建筑規(guī)費。2、規(guī)費是指政府機關在為特定人履行了一定行
對于丸美彈力蛋白眼精華怎么樣這個問題感興趣的朋友應該很多,這個也是
承蒙諸位經理關照。新內容【鏡中鏡】(鏡像迷宮 2)將于2023年6月29日上
軒逸(參數(shù)|詢價)車鑰匙的功能介紹是:LOCK為鎖止按鈕:取出點火鑰匙并