首页 > 编程知识 正文

php消息中间件(消息队列中间件有哪些)

时间:2023-05-04 09:50:16 阅读:69247 作者:4116

消息中间件包括: 1、Kafka主要为高吞吐量订阅发布系统设计,追求速度和持久化; 2、RabbitMQ是用Erlang语言开发的开源消息队列系统,基于AMQP协议实现; 3、RocketMQ是纯Java开发,有很高的吞吐量。

消息中间件包括:

Kafka、RabbitMQ、RocketMQ

1、Kafka

Kafka是LinkedIn的开源分布式发布-订阅消息传递系统,目前属于Apache的顶级项目。 Kafka主要为高吞吐量订阅发布系统而设计,追求速度和持久化。 kafka的消息由密钥、值和时间戳组成。 kafka不记录每封邮件被谁使用,而只偏移记录哪些邮件未读。 kafka可以通过指定消费者组来实现订阅发行的功能。

2、拉比特MQ

RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议实现。 AMQP的主要特点是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性和安全性。 AMQP协议在企业系统中广泛使用,在对数据一致性、稳定性和可靠性要求较高的场景中,对性能和吞吐量的要求仍在持续。

3、RocketMQ

RocketMQ是蚂蚁的开源消息中间件,具有纯Java开发、高吞吐量、高可用性、适用于大规模分布式系统APP应用的特点。 RocketMQ构想从Kafka开始,但优化了消息的可靠传输和事务性,而不是Kafka的拷贝,目前在阿里集团进行了交易、充值、流计算、消息推送、日志流处理、 支持的客户端语言很少,现在是Java和c,其中c还不成熟

5、Kafka、RabbitMQ、RocketMQ的对比

1、Rabbitmq比kafka更可靠,kafka适用于ELK日志采集等IO吞吐量高的处理。

2、kafka吞吐量高,内部采用消息批量处理、zero-copy机制,数据存储和检索是本地磁盘的顺序批量操作,具有o(1)的复杂度,消息处理效率高。 rabbitMQ在吞吐量方面稍逊于kafka。 他们的出发点不同。 rabbitMQ支持消息的可信传递,支持事务,不支持批量操作。 基于存储可靠性的要求存储可以是内存或硬盘。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。