RabbitMq的动态路由模式-Topic:
动态路由模式其实就是routing路由模式的一个升级,在路由模式的基础之上增加了routingKey的匹配规则,因为路由模式的routingKey都是直接写死的,如果日后有很多routingKey那么代码就要写多少,造成代码冗余,可维护度不高,那么动态路由就可以解决这一点了,通过#,*等统配符来匹配一定规则的routingKey,实现队列与交换机的绑定

实现步骤:
第一步:项目准备
消息生产方: zt-frank-mq-prod-service-9501
消息消费方1:zt-frank-mq-consumer1-service-9505
消息消费方2:zt-frank-mq-consumer2-service-9506
第二步:消息生产者9501代码编写,向driect类型的exchange发送三次消息,但是每次消息的routingKey不一样
@Controller
@RequestMapping("/mq")
public class TopicModel_5 {
private static Logger logger = Logger.getLogger(TopicModel_5.class);
@Autowired
private RabbitTemplate rabbitTemplate;
@PostMapping("/topic")
@ResponseBody
public String test(){
logger.info("mq开始生成消息-动态路由模式");
ArrayList<String> arr = new Arra

本文介绍了RabbitMQ的动态路由模式-Topic,它解决了routingKey写死导致的代码冗余问题,通过#和*通配符匹配规则。文章详细阐述了实现步骤,包括消息生产者和两个不同消费者的服务配置,以及测试结果,强调了Topic模式相对于路由模式的灵活性。
最低0.47元/天 解锁文章
7418

被折叠的 条评论
为什么被折叠?



