RabbitMQ 在 Spring Boot 進階之交換器 Topic Exchange

上文中說到,文件上傳服務器有這麼多的需求:給全部用戶一點獎勵,還要記錄一條日誌,甚至還要通知某某人去對上傳的資料進行審覈。 那若是咱們不想這麼作了,咱們想要的是:html

  • 只有上傳達到15m的纔給獎勵
  • 某些類型的文件不須要進行審覈

那怎麼來設計咱們的消息中間件呢?spring

這時候就須要咱們的Topic交換器了服務器

Topic交換器

將路由鍵和某模式進行匹配。此時隊列須要綁定要一個模式上。符號「#」匹配一個或多個詞,符號「」匹配很少很多一個詞。所以「audit.#」可以匹配到「audit.irs.corporate」,可是「audit.」 只會匹配到「audit.irs」。我在RedHat的朋友作了一張不錯的圖,來代表topic交換機是如何工做的:分佈式

這裏寫圖片描述

有了Topic交換器:ide

  • 將日誌監聽的隊列路由鍵設置爲 #.log 表明log結尾的都要記錄日誌
  • 將文件達到15m的路由鍵設置爲#.reward.#
  • 將審覈的路由鍵設置爲 #.verify.#

問題迎刃而解,代碼就不演示了..ui

參考文章: http://blog.csdn.net/rainday0310/article/details/22082503 https://spring.io/guides/gs/messaging-rabbitmq/ https://www.ctolib.com/docs-SpringBoot-c-mq_rabbitmq.html 以及書籍《RabbitMQ實戰 高效部署分佈式消息隊列》.net

相關文章
相關標籤/搜索