rabbitMQ
h_lizeming
这个作者很懒,什么都没留下…
展开
-
rabbitMQ入门
rabbitMQ整体架构模型是什么样子的 rabbitMQ消息是如何流转的 rabbitMQ安装与使用 命令行与管控台 rabbitMQ消息生产与消费(Java) rabbitMQ交换机详解 rabbitMQ队列 绑定 虚拟主机 消息JMXrabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,rabbitMQ使用的就是Erlang语言来编...原创 2019-05-14 16:09:33 · 449 阅读 · 0 评论 -
消费端自定义监听
我们一般就是在代码中编写while循环,进行consumer.nextDelivery方法进行获取吓一跳消息,然后进行消息处理。但是我们使用自定义的consumer更加方便,解耦行更加强,也是实际工作中最常见的使用方法。主要是继承defaultconsumer类,然后实现 handledelivery方法。delivertype就是ACK,而且可以不断自己增加的。...原创 2019-07-02 15:15:05 · 256 阅读 · 0 评论 -
消费端限流
什么是消费端的限流假设一个场景,首先我们rabbitmq服务器上面有上万条没有处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量消息瞬间全部推送过来,但是我们当个客户端没有办法进行处理这么多的数据,可能会造成服务器宕机。rabbitmq提供一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于consume或者channel设置qos...原创 2019-07-06 10:34:10 · 309 阅读 · 0 评论 -
rabbitmq进阶二
消息如何保障100%的投递成功 幂等性的概念详细介绍 在海量订单产生的业务高峰期,如何避免消息的重复消费问题 confirm 确认消息 return 返回消息自定义消费者 消息的ACK与重新回队列 (就是消息签收问题) 消息限流(mq服务消息堆积,这个时候要通过消息限流,控制消费端一次性接收消息的数量。保证服务的稳定性有可能数据一次性过来很多 但是消费端的消费能力不强,就会导致服...原创 2019-06-29 19:46:09 · 230 阅读 · 0 评论 -
消息如何保证100%的投递成功
什么是生产端的可靠性投递保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点(broke)确认应答 完善的消息补偿机制消息落库,对消息状态进行打标记消息的延迟投递,做二次确认,回调检查Q:事务?保证数据源一致 tcc 用补偿机制设定一个time lock 分布式定时任务 (可能出现重复抓取任务) 保证统一个时间点 只有一个任务执行定时任务会造成...原创 2019-06-29 21:34:12 · 560 阅读 · 6 评论 -
幂等性
幂等性:可能你对一件事情进行操作,这个操作可能要执行多次,那么最终操作的结果都是相同的。好像执行一条sql语句,执行多次之后结果都是一致的。我们可以借鉴数据库的乐观锁的机制:比如我们要执行更新一条库存的sql语句update T_REPS set count = count-1,verson = verson +1 where verson = 1就是一开始读取时候,先读取versio...原创 2019-06-29 21:57:13 · 325 阅读 · 0 评论 -
消费端ACK与重回队列
消费端的手工ACK和NACK(确认·处理失败)消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿(如果多次nack,我们可以先发送ack 然后日志记录 后面坐人工补偿)——如果由于服务器宕机等严重问题 那我们需要手工进行ack保障消费成功消费端的重回队列消费端重回队列是为了对没有处理成功的消息,把消息重新会送给broker一般我们实际...原创 2019-07-06 14:29:16 · 419 阅读 · 0 评论 -
TTL以及死信队列
TTL是time to live的缩写 也就是生存时间rabbitmq支 持消息过期时间,在消息发送时候可以进行指定rabbitmq支持队列过期时间,从消息入队列开始计算,只要超过了队列的超时设置,那么消息会自动消除死信队列:DXL利用DXL,当消息在一个队列中变成死信之后,它能被重新publish到另一个exchange,这个exchange就是DLX...原创 2019-07-06 16:35:19 · 429 阅读 · 0 评论 -
rabbitMQ实战
rabbitmq整合springAMQP实战原创 2019-07-06 19:21:15 · 343 阅读 · 0 评论