RabbitMQ 使用总结
1 什么是分布式消息服务 RabbitMQ
分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性
丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等
场景。
2 产品优势
单队列性能最高可达10万TPS(默认配置),增加队列可获得更高性能。
3 典型应用场景
具备高效可靠的消息异步传递机制,主要
用于不同系统间的数据交流和传递
3.1支持普通消息、广播消息、死信、延迟消息等特性
3.2在RabbitMQ中,生产者将消息发送到交换器,由交换器将消息路由到队列中。交
换器支持direct,topic,headers和fanout四种路由方式,同时支持交换机组合和
自定义。
5 Kafka 与 RabbitMQ 的差异
消息中间件的性能主要衡量吞吐量,Kafka的吞吐量比RabbitMQ要高出1~2个数量
级,RabbitMQ的单机QPS在万级别,Kafka的单机QPS能够达到百万级别。
Kafka与RabbitMQ都具备多副本机制,数据可靠性较高。
Kafka 与 RabbitMQ 的功能差异比较:
延迟队列 kafka不支持;
优先队列 kafka不支持;
死信队列 kafka不支持;
重试队列:都不支持
消息堆积:都支持
持久化:都支持
事务性消息:都支持
最大连接数和配置规格有关
消息大小 单条消息的最大长度为50MB
6.MQ相关概念:
1.消息:消息一般分为两部分,消息体和标签,标签主要用来描述这条消息,消息体是消息的
内容,是一个json体或者数据等
2.生产者(Producer)
即向队列发送消息的一方。发布消息的最终目的在于将消息内容传递给其他系统/模
块,使对方按照约定处理该消息。
3.消费者(Consumer)
接收消息的一方。消费者订阅RabbitMQ的队列,当消费者消费一条消息时,只是消费
消息的消息体。在消息路由的过程中,会丢弃标签,存入到队列中的只有消息体。
4.队列(Queue)
队列是用于存储消息的,生产者将消息送到队列,消费者从队列中获取和消费消息。
多个消费者可以同时订阅同一个队列,队列里的消息分配给不同的消费者。
5.代理(Broker)
消息中间件的服务节点