不過,最近有朋友問我,RabbitMQ RPC 是干嘛的,有什么用。

其實,RabbitMQ RPC 就是通過消息隊列(Message Queue)來實現(xiàn)rpc的功能,就是,客戶端向服務端發(fā)送定義好的Queue消息,其中攜帶的消息就應該是服務端將要調(diào)用的方法的參數(shù) ,并使用Propertis告訴服務端將結果返回到指定的Queue。

1.RabbitMQ RPC的特點

  • Message Queue把所有的請求消息存儲起來,然后處理,和客戶端解耦。
  • Message Queue引入新的結點,系統(tǒng)的可靠性會受Message Queue結點的影響。
  • Message Queue是異步單向的消息。發(fā)送消息設計成是不需要等待消息處理的完成。

所以對于有同步返回需求,Message Queue是個不錯的方向。

2.普通PRC的特點

  • 同步調(diào)用,對于要等待返回結果/處理結果的場景,RPC是可以非常自然直覺的使用方式。當然RPC也可以是異步調(diào)用。
  • 由于等待結果,客戶端會有線程消耗。

如果以異步RPC的方式使用,客戶端線程消耗可以去掉。但不能做到像消息一樣暫存消息請求,壓力會直接傳導到服務端。

3.適用場合說明

  • 網(wǎng)友評論