RabbitMQ 在 Spring Boot 进阶之交换器 Topic Exchange

[亡魂溺海] 提交于 2019-12-14 18:23:11

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

上文中说到,文件上传服务器有这么多的需求:给所有用户一点奖励,还要记录一条日志,甚至还要通知某某人去对上传的资料进行审核。 那如果我们不想这么做了,我们想要的是:

  • 只有上传达到15m的才给奖励
  • 某些类型的文件不需要进行审核

那怎么来设计我们的消息中间件呢?

这时候就需要我们的Topic交换器了

Topic交换器

将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“”匹配不多不少一个词。因此“audit.#”能够匹配到“audit.irs.corporate”,但是“audit.” 只会匹配到“audit.irs”。我在RedHat的朋友做了一张不错的图,来表明topic交换机是如何工作的:

这里写图片描述

有了Topic交换器:

  • 将日志监听的队列路由键设置为 #.log 代表log结尾的都要记录日志
  • 将文件达到15m的路由键设置为#.reward.#
  • 将审核的路由键设置为 #.verify.#

问题迎刃而解,代码就不演示了..

参考文章: 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实战 高效部署分布式消息队列》

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!