原文地址(代碼較方便運行):https://blog.csdn.net/qwdafedv/article/details/98479087
參考(理論不錯):https://www.cnblogs.com/niceyoo/p/11448111.html
裏面很詳細,rabbitmq的五種工作模式都有涉及到,下面是自己的筆記(以備面試)
1.rabbitmq的工作模式
六種:
1---hello-world(簡單模式,一對一)
2---work模式 多個消費者綁定一個隊列,消息輪流消費。這時候容易出現消息丟失的情況,搭配ack來進行保證
3---發佈訂閱模式(publish/subscribe) 多個消費者同時綁定各自對應的隊列(處理不同業務)由交換機將消息,廣播發送給多個隊列,這樣都能收到
4---路由模式(routing) 跟發佈訂閱類似,在此基礎上加了類型。也就是消費者綁定隊列的同時指定類型,交換機根據指定的類型把對應的消息發送到消費者。
5---主題模式(topics) 同路由模式類似,路由是指定類型(=),主題模式是匹配類型是(like)。
6:rpc
2.rabbitmq怎麼保證消息不被重複消費
可以在ack的時候添加一個全局的碼,存進緩存,再有數據進來就先查詢redis中是否存在碼,有的話不做處理,沒有的話存緩存。