消息隊(duì)列在目前分布式系統(tǒng)下具備非常重要的地位,如下的場景是比較適合消息隊(duì)列的:
跨系統(tǒng)的調(diào)用,異步性質(zhì)的調(diào)用最佳。
高并發(fā)問題,利用隊(duì)列串行特點(diǎn)。
訂閱模式,數(shù)據(jù)被未知數(shù)量的消費(fèi)者訂閱,比如某種數(shù)據(jù)的變更會(huì)影響多個(gè)系統(tǒng)的數(shù)據(jù),訂單數(shù)據(jù)就是比較好理解的。
之前有一個(gè)場景是商品數(shù)據(jù)在修改后需要推送到elasticsearch中,由于修改產(chǎn)品的并發(fā)量以及數(shù)據(jù)量均不大,所以對于消息未做持久化,而且為了快速上線簡化系統(tǒng),生產(chǎn)者與消費(fèi)者更是部署在一個(gè)應(yīng)用中,自生產(chǎn)自消費(fèi)。這篇將從頭搭建RabbitMQ環(huán)境,并且將之集成在Spring boot中。
搭建RabbitMQ環(huán)境
erlang
由于RabbitMQ是基于erlang開發(fā)的,所以要安裝RabbitMQ先必須安裝erlang。
更換軟件源