当前位置: 首页 > 后端技术 > Java

消息中间件简介

时间:2023-04-01 21:59:50 Java

1.什么是消息中间件?它使用高效可靠的消息传递机制进行平台无关的数据交换;并集成基于数据通信的分布式系统;通过提供消息传递和消息队列模型,可以在分布式环境中扩展进程间的通信;2、消息中间件的应用场景是跨系统数据传输、高并发流量调峰、数据异步处理……等。3、常用消息中间件ActiveMQ、RabbitMQ、Kafka、RocketMQ4、消息中间件设计思想协议、持久化机制、消息分发策略、高可用、高可靠5、什么是协议?相互沟通。协议是计算机相互通信时遵循的一组约定。只有遵循相同的约定,计算机才能相互通信。协议的三要素:语法:数据和控制信息的结构或格式;语义:需要发送什么控制信息,完成什么动作,做出什么响应;timing(同步):事件顺序的详细消息中间件常用协议:OpenWire、AMQP、MQTT、Kafka、OpenMessageMQTT协议(RabbiMQ、ActiveMQ):MQTT(MessageQueuingTelemetryTransport)消息队列遥测传输是一种即时消息IBM开发的协议,是物联网系统架构部分的重要组成部分。特点:轻量级、结构简单、传输速度快、不支持事务、无持久化相关设计应用场景:适用于算力有限、带宽低、网络不稳定的场景。OpenMessageProtocol(RocketMQ)OpenMessaging是阿里近一两年发起,与雅虎、滴滴出行、Streamlio等公司共同建立的分布式消息中间件和流处理领域的应用开发标准。是中国首个在全球范围内发起的分布式消息领域国际标准。特点:结构简单,分析速度快,事务设计,持久化设计Kafka协议(kafka)Kafka协议是一种基于TCP的二进制协议。消息以长度分隔,由一些基本数据类型组成。特点:结构简单,分析速度快,无事务设计,持久化设计6.常用的持久化方式ActiveMQRabbitMQKafkaRocketMQ文件系统支持支持支持支持支持支持数据库支持///7.常用的消息中间件分发策略ActiveMQRabbitMQKafkaRocketMQ发布订阅支持支持支持轮询分发支持/公平分发/支持支持/重传支持支持/支持消息拉取/支持支持支持执行定义的功能状态的能力。当业务量较大时,一个消息中间件服务器可能无法满足需求,需要将消息中间件集群部署,实现高可用。Master-Slave主从共享数据部署模式Master-Slave主从同步部署模式Broker-Cluster多主集群同步部署模式Broker-Cluster多主集群转发部署模式Master-Slave结合Broker-Cluster9.What可靠性高吗?高可靠性意味着系统可以继续无故障运行。例如,一个系统永远不会崩溃或报告错误,或者崩溃或报告错误的可能性很小,这就是高度可靠的。在高并发的业务场景下,如果不能保证系统的高可靠性,损失会非常严重。为保证消息中间件的高可靠性,可从以下几个方面考虑可靠的消息传输:通过协议保证系统间数据分析的正确性。可靠的消息存储:通过持久化保证消息存储的可靠性。