摘要:一、组件 二、6种工作模式 HolloWord、WorkQueues、Publish/Subscribe、Routing、Topic、RPC。 2.1、HolloWord模式 该模式不会用到交换机,实际工作场景也不会用到,只是简单的消息的生产和消费。 2.2、WorkQueues 工作队列模式 【说
阅读全文
摘要:一、简介 kafka是一个分布式流处理平台。有3个关键能力: 1、订阅发布记录流:类似于消息队列 或 企业消息传递系统; 2、以容错的方式存储记录流; 3、实时记录流; 二、应用 作为消息系统、存储系统、流处理器。可以建立流数据管道,可靠性的债系统或应用之间获取数据。建立流式应用传输和响应数据。 三
阅读全文
摘要:一、场景 在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作。 像某宝、某东都有这样的逻辑,而且时间很准确,误差在 1s 内,那他们是怎么实现的呢? 一般实现方法有几种: 使用 RocketMQ、RabbitMQ、Pulsar 等消息队列的延时投递
阅读全文
摘要:一、流程图 二、消息丢失场景 2.1、场景1中生产者将消息发送给Rocket MQ的时候,如果出现了网络抖动或者通信异常等问题,消息就有可能会丢失。 2.2、场景2中消息需要持久化到磁盘中,这时会有两种情况导致消息丢失: 1、RocketMQ为了减少磁盘的IO,会先将消息写入到os cache中,而
阅读全文
摘要:一、作用 MQ作用很简单,就是削峰填谷。 使用MQ之后我们的链路变简单了,同事异步发送消息我们的整个系统的抗压能力也上升了。 二、性能对比 三、消息可靠性保证 消息丢失可能发生在生产者发送消息、MQ本身丢失消息、消费者丢失消息3个方面。 【生产者丢失】 生产者丢失消息的可能点在于程序发送失败抛异常了
阅读全文
摘要:一、MQ比较 【比较】:Kafka以高吞吐量闻名,不过其数据稳定性一般,而且无法保证消息的有序性。日志收集有使用,业务模块中则使用RabbitMQ。 RocketMQ基于Kafka的原理,弥补了Kafka的缺点,继承了其高吞吐优势,其客户端目前以Java为主。但是阿里巴巴开源产品的稳定性需要慎重。
阅读全文