rabbitmq
码农小麦
这个作者很懒,什么都没留下…
展开
-
使用mq来搞定异步&&策略模式
1异步诸如短信、邮件、微信公众号消息、app push等是互联网应用不可或缺的消息通知服务,通常我们在处理这类服务时,都是使用异步消息(不阻塞我当前线程执行流程)。多个渠道(可能只涉及某个或某几个)如果同步处理显然会影响正常业务性能,而且消息通知代码逻辑穿插在业务逻辑中也不符合设计原则。2策略策略模式简而言之就是一堆if…else…的优雅展示,如果每增加一种策略都需要对代码进行修改扩充(增加if…else…判断逻辑),那么不妨将每种策略抽离出来(面向统一接口实现不同逻辑)。显然,如果策略过多同样存原创 2021-08-02 13:38:07 · 767 阅读 · 0 评论 -
rabbitmq消息推送exchange类型
在rabbiqmq中消息生产者其实并不关心消息队列,消息都是推送到exchange中,再有exchange通过routingKey路由到指定的队列。exchange有四种类型:fanout、direct、topic、headers。很好区分记忆,headers通常用不着,直接忽略。fanout:广播式推送消息,生产者只要把消息推送至fanout交换器中,无需指定routingKey,只要exchange绑定的队列,都会收到消息。一句话记忆,无脑广播至交换器下所有队列。direct:一对一推送消息,时原创 2020-07-06 16:48:20 · 478 阅读 · 0 评论 -
rabbitmq死信队列,消息延迟消费
rabbitmq中如果消息被拒绝,或消息过期,或极端情况队列达到最大长度,这时消息就变成了死信,死信消息可以通过队列绑定死信交换器,从而将消息路由到死信交换器绑定的队列里。public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); try (Connection原创 2020-07-05 12:05:53 · 776 阅读 · 1 评论 -
rabbitmq设置备份交换机
生产者发布消息至路由器时,未设置mandatory参数及ReturnListener监听处理,消息会被broker丢弃,如果不想消息丢失,可以使用备份交换器,这样可以将未被正确路由的消息存储到备份交换机指定的队列。public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost");原创 2020-07-04 22:10:51 · 561 阅读 · 0 评论 -
清空rabbitmq队列数据
建议直接在rabbitmq管理平台操作,找到目标队列,purge一下即可。原创 2020-06-03 12:51:54 · 2226 阅读 · 0 评论