1,RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。
2,MQ是消息通信的模型,目前实现MQ的两大主流方式是:AMQP协议或者JMS接口(基于java的)
3,常用场景:(15条消息) RabbitMQ的应用场景以及基本原理介绍_杨龙飞的博客-CSDN博客_rabbitmq使用场景
- 异构系统
- 解耦合,提升可维护性和扩展性
- 秒杀抢购,限流和流量削峰
4,目前流行的消息队列产品
- kafka:高性能分布式消息队列,大数据领域和日志领域常用。特点:快速持久化,高堆积,高吞吐量,消息延迟级别MS。缺点:消息可能会丢失。
- rocketmq:高吞吐量,高堆积能力,在线扩容能力强,理论上不会丢失消息,支持事务消息,可以实现消费消息的顺序性,消息延迟级别MS
- rabbitmq:erlang开发的,环境要求相对高。吞吐量没有上面两个那么高。消息延迟级别WS。支持很多协议。消息会丢失(少)。