在了解RabbitMQ之前,我們先了解一下 同步 與 異步 這個(gè)概念。
同步同步 必須等到對(duì)方響應(yīng)自己后,才能進(jìn)行下一步操作。
異步異步 消息發(fā)出后,我繼續(xù)處理我得任務(wù),發(fā)出得消息處理好之后再給我反饋。
小結(jié):
同步:我需等待對(duì)方給我反饋信息,才能繼續(xù)進(jìn)行下一個(gè)工作。
異步:我給你消息,你去處理,處理好之后給我說(shuō)一聲,我去忙別得了。
RabbitMQ結(jié)構(gòu)RabbitMQ得主要組成:
一個(gè)RabbitMQ程序中 可以有多個(gè) virtualhost ,一個(gè) virtualhost 中有多個(gè) exchange 和 queue。 bindings 和 RoutingKey 連接exchange 和 queue。不同得RabbitMQ模式下連接規(guī)則有所不同。
RabbitMQ支持得消息模式發(fā)布訂閱(publish、subscribe),根據(jù)交換機(jī)(exchange)不同分為三種:
RPC(遠(yuǎn)程調(diào)用)
Publisher /confirm/is消息確認(rèn)機(jī)制,不算是一種新得模式。