系統(tǒng)結(jié)構(gòu)
RPC | Message Queue | |
---|---|---|
調(diào)用方式 | Consumer <=> Provider | Sender <=> Queue <=> Receiver |
調(diào)用對象 | Consumer調(diào)用的Provider提供的服務(wù)牲距。 | Sender發(fā)送消息給Queue隘蝎;Receiver從Queue拿到消息來處理库车。 |
功能特點
在架構(gòu)上被芳,RPC和Message的差異點是缰贝,Message有一個中間結(jié)點Message Queue,可以把消息存儲筐钟。
消息的特點
Message Queue把請求的壓力保存一下揩瞪,逐漸釋放出來,讓處理者按照自己的節(jié)奏來處理篓冲。
Message Queue引入一下新的結(jié)點李破,讓系統(tǒng)的可靠性會受Message Queue結(jié)點的影響。
Message Queue是異步單向的消息壹将。發(fā)送消息設(shè)計成是不需要等待消息處理的完成嗤攻。
所以對于有同步返回需求,用Message Queue則變得麻煩了诽俯。PRC的特點
同步調(diào)用妇菱,對于要等待返回結(jié)果/處理結(jié)果的場景,RPC是可以非常自然直覺的使用方式暴区。
RPC也可以是異步調(diào)用闯团。
由于等待結(jié)果,Consumer(Client)會有線程消耗仙粱。
如果以異步RPC的方式使用房交,Consumer(Client)線程消耗可以去掉。但不能做到像消息一樣暫存消息/請求伐割,壓力會直接傳導(dǎo)到服務(wù)Provider候味。
應(yīng)用
其實基于MQ和RPC的應(yīng)用在之前介紹過,分別是:
ps:
暫且了解到這里隔心,以后再補充白群。