分布式消息中间件

本文介绍了分布式消息中间件的概念,如高效可靠的消息传递、数据通信集成和进程间通信。列举了其常见应用场景,如跨系统数据传递、流量消峰和异步处理。文章讨论了ActiveMQ、rabbitMQ、kafka和RocketMQ等常用消息中间件,并探讨了消息中间件的本质,包括协议(OpenWire、AMQP、MQTT、Kafka协议和OpenMessage)、持久化、消息分发和高可用、高可靠设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是消息中间件?

1、高效可靠的消息传递机制进行数据交流;
2、利用数据通信来进行分布式集成
3、通过消息传递和排队(队列)模型,可以在分布式环境下进行进程中的通信

应用场景

1、跨系统数据传递
2、高并发流量消峰
3、数据异步处理等

常用消息中间件

1、ActiveMQ
2、rabbitMQ
3、kafka
4、RocketMQ

消息中间件本质

在这里插入图片描述
数据接收、保存、发送等功能的网络应用。相当于一数据中转(分发)中心,性能一般都高于普通程序。
由5大核心组成:协议、持久化机制、消息分发机制、高可用设计、高可靠设计。

消息中间件常用协议

1、OpenWire :开放连接,activeMQ自己定义的一种协议,activeMQ的默认连接格式,它提供一种高效率的二进制格式来使消息高速传输。
2、AMQP (Advanced Message Queuing Protocol)是高级消息队列协,特性:支持事物、持久化支持,出生金融行业,在可靠性消息处理上具有天然的优势(RabbitMQ、ActiveMQ)
3、MQTT(Message Queing Telemetry Transport)消息队列遥测传输,是IBM开发的一个即时通讯协议,物联网系统架构中的重要组成部分。特性:轻量、结构简单、传输快、没有事物支持、没有持久化相关设计(RabbitMQ、ActiveMQ)
4、Kafka协议是基于TCP的二进制协议,消息内部是通过长度来分隔,由一些基本数据类型组成。特性:结构简单、解析快、无事物设计、有持久化设计。(Kafka)
5、OpenMessage 是近一两年由阿里发起,与雅虎、滴滴出行、Streamlio等公司共同参与创立的分布式消息中间件、流处理领域的应用开发标准。是国内首个在全球范围内发起的分布式消息领域国际标准。RocketMQ

持久化支持

ActiveMQRabbitMQKafkaRocketMQ
文件系统支持支持支持支持
数据库支持///

消息分发

ActiveMQRabbitMQKafkaRocketMQ
发布订阅支持支持支持支持
轮询分发支持支持支持/
轮询公平分发/支持支持/
重发支持支持/支持
消息拉取/支持支持支持

高可用机制

消息中间件能够集群部署来达到高可用的目的。
1、Master-Slave主从共享数据模式
当Master收到客户端的消息后,放到共享的文件系统/数据库
2、Master-Slave主从同步部署方式
当Master收到客户端的消息后,发给其他broker同步。
3、Broker-Cluster多主集群转发部署方式
转发数据或转发请求。
4、Master-Slave 和Broker-Cluster结合

高可靠

消息传输可可靠:通过协议来保证系统间数据解析的正确性。
消息存储可靠:通过持久化来保证消息的储存可靠性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值