摘要: RabbitMQ消息确认机制之事务机制。 RabbitMQ中,我们可以通过持久化数据 解决RabbitMQ服务器异常 的数据丢失问题。 问题:生产者将消息发送出去,消息到底有没有到达RabbitMQ服务器 默认的情况下是不知道的。 两种方式: 1.AMQP实现了事务机制,类似mysql的事务。 事务 阅读全文
posted @ 2020-03-18 22:38 一步一高 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: topic主题模式 Topic exchange: 将路由键和某模式进行匹配。 # 匹配一个或多个 * 匹配一个 Topic模型: 例:商品(goods)的发布.删除.编辑.查询... 生产者(交换机type为topic,routingKey改为了goods.add): 消费者1: 消费者2: 当生 阅读全文
posted @ 2020-03-18 22:33 一步一高 阅读(201) 评论(0) 推荐(0) 编辑
摘要: routing路由模式 Exchange交换机:一方面接收生产者的消息,另一方面是像消息队列推送消息。 匿名转发 “”; Fanout类型(不处理路由键,只需要将队列绑定到交换机,把消息发送到交换机, 消息被转发到与该交换机绑定的队列)。 Direct (处理路由键,发送时要带一个路由key,队列也 阅读全文
posted @ 2020-03-18 22:30 一步一高 阅读(273) 评论(0) 推荐(0) 编辑
摘要: publish_subscribe发布订阅模式 模型: 解读: 1.一个生产者,多个消费者。 2.每一个消费者都有自己的队列。 3.生产者没有直接把消息发送到队列,而是发到了交换机exchange(X)。 4.每个队列都要绑定到交换机。 5.生产者发送的消息经过交换机,然后到达队列,就能实现一个消息 阅读全文
posted @ 2020-03-18 22:25 一步一高 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 应答: boolean autoAck=true;(自动确认模式),一旦RabbitMQ将消息发送给消费者 消息就会从内存中删除。(这种情况下不安全,如果杀死正在执行的消费者, 就会丢失正在处理的消息)。 boolean autoAck=false;(手动确认模式),如果有一个消费者挂掉,就会交付给 阅读全文
posted @ 2020-03-18 22:20 一步一高 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一.Work Queues 1.工作队列轮训分发 模型: 生产者:每隔一秒发送消息 消费者1:每隔一秒获取一次消息 消费者2:每隔两秒获取一次信息 现象: 消费者1和消费者2处理的消息数是一样的。 消费者1都是偶数,消费者2都是奇数。 这种方式叫做轮询分发(round-robin)。 2.工作队列- 阅读全文
posted @ 2020-03-18 22:15 一步一高 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一:概述 1.核心概念: Message :消息,消息是不具名的,它由消息头和消息体组成。消息体是 不透明的,而消息头则由一系列的可选属性组成, 这些属性包括routing-key(路由键)、 priority(相对于其他消息的优先权)、 delivery-mode(指出该消息可能需要持久性存储)等 阅读全文
posted @ 2020-03-18 22:04 一步一高 阅读(307) 评论(0) 推荐(0) 编辑