- 博客(5)
- 收藏
- 关注
原创 TTL以及死信队列
TTL是time to live的缩写 也就是生存时间rabbitmq支 持消息过期时间,在消息发送时候可以进行指定rabbitmq支持队列过期时间,从消息入队列开始计算,只要超过了队列的超时设置,那么消息会自动消除死信队列:DXL利用DXL,当消息在一个队列中变成死信之后,它能被重新publish到另一个exchange,这个exchange就是DLX...
2019-07-06 16:35:19 429
原创 消费端ACK与重回队列
消费端的手工ACK和NACK(确认·处理失败)消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿(如果多次nack,我们可以先发送ack 然后日志记录 后面坐人工补偿)——如果由于服务器宕机等严重问题 那我们需要手工进行ack保障消费成功消费端的重回队列消费端重回队列是为了对没有处理成功的消息,把消息重新会送给broker一般我们实际...
2019-07-06 14:29:16 419
原创 消费端限流
什么是消费端的限流假设一个场景,首先我们rabbitmq服务器上面有上万条没有处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量消息瞬间全部推送过来,但是我们当个客户端没有办法进行处理这么多的数据,可能会造成服务器宕机。rabbitmq提供一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于consume或者channel设置qos...
2019-07-06 10:34:10 309
原创 消费端自定义监听
我们一般就是在代码中编写while循环,进行consumer.nextDelivery方法进行获取吓一跳消息,然后进行消息处理。但是我们使用自定义的consumer更加方便,解耦行更加强,也是实际工作中最常见的使用方法。主要是继承defaultconsumer类,然后实现 handledelivery方法。delivertype就是ACK,而且可以不断自己增加的。...
2019-07-02 15:15:05 256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人