RabbitMQ的消息延迟是微秒级,Kafka是毫秒级(1毫秒=1000微秒)
延迟消息是指生产者发送消息发送消息后,不能立刻被消费者消费,需要等待指定的时间后才可以被消费。
Kafka的单机呑吐量是十万级,RabbitMQ是万级
消息可靠性上RabbitMQ更高
延时消息适用于以下场景:
对消息生产和消费有时间窗口要求的场景。例如,在电商交易中超时未支付关闭订单的场景,在订单创建时会发送一条延时消息。这条消息将会在30分钟以后投递给消费者,消费者收到此消息后需要判断对应的订单是否已完成支付。如支付未完成,则关闭订单。如已完成支付则忽略。
通过消息触发延时任务的场景。例如,在指定时间段之后向用户发送提醒消息。
RabbitMQ是由Erlang语言开发的,Erlang语言本身就是用来做消息队列的,Kafka是由