摘要: 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消 息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会 发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到 阅读全文
posted @ 2021-11-23 13:40 代达罗斯之殇 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 如果 RabbitMQ 集群中只有一个 Broker 节点,那么该节点的失效将导致整体服务的临时性不可用,并 且也可能会导致消息的丢失。可以将所有消息都设置为持久化,并且对应队列的durable属性也设置为true,但 是这样仍然无法避免由于缓存导致的问题:因为消息在发送之后和被写入磁盘井执行刷盘动 阅读全文
posted @ 2021-11-18 15:38 代达罗斯之殇 阅读(52) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ 从 3.6.0 版本开始引入了惰性队列的概念。惰性队列会尽可能的将消息存入磁盘中,而在消 费者消费到相应的消息时才会被加载到内存中,它的一个重要的设计目标是能够支持更长的队列,即支持 更多的消息存储。当消费者由于各种各样的原因(比如消费者下线、宕机亦或者是由于维护而关闭等)而致 使 阅读全文
posted @ 2021-11-18 15:23 代达罗斯之殇 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如 果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧,但是,tmall 商家对我们来说,肯定是要分大客户和小客户的对吧,比如像苹果,小米这样大商家一年起码能给我们创 造很大的利润,所 阅读全文
posted @ 2021-11-18 15:22 代达罗斯之殇 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理 解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这 阅读全文
posted @ 2021-11-18 15:09 代达罗斯之殇 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 什么是消息应答 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成 了部分突然它挂掉了,会发生什么情况。RabbitMQ 一旦向消费者传递了一条消息,便立即将该消 息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续 发送给该消费这的消息 阅读全文
posted @ 2021-11-11 16:40 代达罗斯之殇 阅读(1468) 评论(0) 推荐(1) 编辑
摘要: 发布订阅模式 publish/subscribe 模式 这种模式又称为发布订阅模式,相对于Work queues模式,该模式多了一个交换机,生产端先把消息发送到交换机,再由交换机把消息发送到绑定的队列中,每个绑定的队列都能收到由生产端发送的消息。 发布订阅模式: 1、每个消费者监听自己的队列; 2、 阅读全文
posted @ 2021-11-04 16:51 代达罗斯之殇 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 今天研究了一下basicConsume 里面的一些参数 先解释一些参数名的含义 , 后面会用到 序号返回值备注 1 envelope 包含deliveryTag、exchange、routingKey等信息 2 props BasicProperties对象,即消息生产时设置的该对象特性 3 bod 阅读全文
posted @ 2021-10-22 15:33 代达罗斯之殇 阅读(1605) 评论(0) 推荐(0) 编辑
摘要: 主题模式 主题模式与路由模式类似,不同的是路由模式生产者向指定路由发送消息,消费者接收指定路由的消息;主题模式生产者向交换机发送消息后,消费者可以对队列进行匹配,提供两个匹配字符,’ * ‘星号和 ‘ # ’井号,‘ * ’匹配一个词,‘ # ’ 匹配多个词,一般使用#号匹配多个,*号用的比较少。 阅读全文
posted @ 2021-09-28 17:21 代达罗斯之殇 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 路由模式 Routing 模式又称路由模式,该种模式除了要绑定交换机外,发消息的时候还要指定routing key,队列绑定交换机的时候,需要指定自己的routing key,这样,生产端发送消息的时候也会指定routing key,通过routing key就可以把相应的消息发送到绑定相应rout 阅读全文
posted @ 2021-09-28 17:19 代达罗斯之殇 阅读(75) 评论(0) 推荐(0) 编辑