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