随笔分类 -  rabbitMq

摘要:新版本,使用懒加载,直接在项目里面创建路由,队列启动项目会报错,要提前在管理平台创建并绑定队列才行 阅读全文
posted @ 2022-06-21 23:15 余生请多指教ANT 阅读(24) 评论(0) 推荐(0) 编辑
摘要:生产者 package com.wangbiao.consumer.config; import org.apache.logging.log4j.message.SimpleMessageFactory; import org.springframework.amqp.core.*; import 阅读全文
posted @ 2021-09-12 18:28 余生请多指教ANT 阅读(479) 评论(1) 推荐(1) 编辑
摘要:/** * 重复消费逻辑判断与处理 */ @Component public class RepeatMqConsumer { /** * 服务对象 */ private int count=1; @Autowired private DispatcherService dispatcherServ 阅读全文
posted @ 2021-04-08 10:20 余生请多指教ANT 阅读(559) 评论(0) 推荐(0) 编辑
摘要:#手动应答 #spring.rabbitmq.listener.simple.acknowledge-mode=manual #spring.rabbitmq.listener.simple.acknowledge-mode=none #不发生异常才应答 #spring.rabbitmq.liste 阅读全文
posted @ 2021-04-08 09:55 余生请多指教ANT 阅读(493) 评论(0) 推荐(0) 编辑
摘要://备份队列 @Bean("alternate_queue") public Queue alternate_queue() { return new Queue("alternate_queue", true); } //备份交换机 @Bean("alternate_exchange") publ 阅读全文
posted @ 2021-04-08 09:44 余生请多指教ANT 阅读(102) 评论(0) 推荐(0) 编辑
摘要:@Bean public RabbitTemplate rabbitTemplate(CachingConnectionFactory factory) { //若使用confirm-callback ,必须要配置publisherConfirms 为true factory.setpublishe 阅读全文
posted @ 2021-04-08 08:12 余生请多指教ANT 阅读(576) 评论(0) 推荐(0) 编辑
摘要:rabbitMq延迟投递的方案 1 把消息记录到数据路,通过定时器进行刷新 2 TTL 加上死信队列 :通过路由把过期的消息同步到死信队列,通过死信队列的消费者进行消费 3 阅读全文
posted @ 2021-04-04 21:11 余生请多指教ANT 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-04-04 16:49 余生请多指教ANT 阅读(203) 评论(0) 推荐(0) 编辑
摘要:x-max-length:队列最大容纳消息条数 大于设置条数的时候会把,消息队列头部(先进入消息)的消息移除 x-max-length-bytes:队列最大容量消息内存容量 服务端限流 内存控制流量:40% Conn vm_memory_high_watermark 磁盘控制:30% disk_fr 阅读全文
posted @ 2021-04-03 12:19 余生请多指教ANT 阅读(3210) 评论(0) 推荐(0) 编辑
摘要:消费过程发生错误容易造成死循环 1.控制重发次数 2.try+catch+手动ack 3.try+catch+手动ack+死信队列(重试次数就失效了,因为捕捉确认后被打入了相应的死信队列) void basicAck(long deliveryTag, boolean multiple) throw 阅读全文
posted @ 2021-03-28 23:03 余生请多指教ANT 阅读(1871) 评论(0) 推荐(0) 编辑
摘要:集群进入某个节点查看指令:rabbitmqctl cluster_status 单机版: docker run -d --name rabbit \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ -p 15672: 阅读全文
posted @ 2021-03-27 15:58 余生请多指教ANT 阅读(1843) 评论(0) 推荐(0) 编辑
摘要:内存管控:https://www.rabbitmq.com/memory.html 阅读全文
posted @ 2021-03-27 15:24 余生请多指教ANT 阅读(152) 评论(0) 推荐(0) 编辑
摘要:在服务器上也可以改变配置文件修改内存 也可以使用命令进行分配: 相对内存:rabbitmqctl set_vm_memory_hgih_waterwmark 0.4 使用时可以把这个0.4替换成自己想要的百分比 绝对内存:rabbitmqctl set_vm_memory_hgih_waterwma 阅读全文
posted @ 2021-03-27 15:01 余生请多指教ANT 阅读(874) 评论(0) 推荐(0) 编辑
摘要:队列创建之后,后期对其修改或者参数添加会报错。需要把队列重新删除,重新创建线上环境不能把队列删除,优雅安全的方式是重新建一个队列,把死信队列相关的队列进行绑定 在有过期时间的队列中设定最大接收能力5条,5秒钟后大于5条的其余消息也会进入死信队列//设置过期队列 @Bean public Queue 阅读全文
posted @ 2021-03-26 22:14 余生请多指教ANT 阅读(68) 评论(0) 推荐(0) 编辑
摘要:第一种:给消息设置过期时间 启动一个插件 @Bean public DirectExchange DirectExchange() { return new DirectExchange("ttl_direct_exchange", true, false); } //给消息设置过期时间 @Bean 阅读全文
posted @ 2021-03-26 21:55 余生请多指教ANT 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1.解耦,削峰异步 串行方式;业务1先完成,在完成业务2,然后完成业务3 1 2 3都没问题都返回给客户端 public class Events{ 业务1先完成, 在完成业务2, 然后完成业务3 } 2 并行执行 异步线程池 public class relationMessage(){ 异步执行 阅读全文
posted @ 2021-03-24 22:07 余生请多指教ANT 阅读(5) 评论(0) 推荐(0) 编辑
摘要:简单模式 Simple 工作模式 Work(可以选择设置轮询还是公平,默认就是轮询) 类型:无 特点:无分发机制 发布订阅模式(交换机默认为空的 AMOP-DEFAULT 路由模式) 类型:fanout 特点:Fanout 发布与订阅模式,是一种广播机制,他是没有路由Key的模式 路由模式 类型:d 阅读全文
posted @ 2021-03-24 21:41 余生请多指教ANT 阅读(3) 评论(0) 推荐(0) 编辑
摘要:channel.basicQos(10);//要根据机器内存设置 内存如上图所示,这里合理设置大小 比如5台集群, 每秒钟有1000个消息 那么每个信道设置为100,这样避免消耗掉服务器的内存 /** * TODO * * @author wangbiao * @Title TODO * @modu 阅读全文
posted @ 2021-03-24 21:21 余生请多指教ANT 阅读(3) 评论(0) 推荐(0) 编辑
摘要:RabbitMq的轮询模式不会因为机器的带宽不同而导致不对等消费 比如A 处理需要10ms,B处理需要1000ms ,两个消费者去消费20条会各消费10条 以下demo实现了均衡消费 package com.wangbiao.work.lunxun; import com.rabbitmq.clie 阅读全文
posted @ 2021-03-24 20:16 余生请多指教ANT 阅读(5) 评论(0) 推荐(0) 编辑
摘要:消息应答有ACK和NACK 两种模式 ACK: 消息已被成功处理 取出消息消费并移除 NACK: 消息处理异常, 需要重新投递 不会真的把消息移除 REJECT: 消息非法, 丢弃消息 队列消息里面有persitent持久化和非持久化之分 持久化会把消息记录磁盘,即使rabbit崩盘了也不会丢失,非 阅读全文
posted @ 2021-03-23 13:18 余生请多指教ANT 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示