多角度分析RocketMQ、RabbitMQ和Kafka区别三大经典且成熟的MQ产品:RabbitMQ、RocketMQ、Kafka 之间的差别基本已经被网文对比烂了,但基本对选型没有指导意义,本文尝试从核心层面厘清主流MQ产品各自异同。
当我们对消息设置了 TTL 和 DLX 之后,当消息正常发送,通过 Exchange 到达 Queue 之后,由于设置了 TTL 过期时间,并且消息没有被消费,达到过期时间之后,消息就转移到与之绑定的 DLX 死信队列之中。
//如果没有拉到数据 case ResponseCode.PULL_NOT_FOUND: // broker 和 consumer 都允许 suspend,默认开启 if { long pollingTimeMills = suspendTimeoutMillisLong;
简介消息队列主要为了异步场景下实现上下游解耦功能:在传统场景中,上游产生一条消息,比如用户下单了一件商品,系统创建了对应的订单,需要通知下游的物流、支付等系统进行后续处理;消息队列可以使得上游系统(订单)和下游系统(支付/物流等)解耦,上游只管向消息队列中投递消息即可,下游订阅消