消息中间件

1.什么是消息中间件

利用高效可靠的消息传递机制进行平台无关的数据交流;

并基于数据通信来进行分布式系统的集成;

通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信;

2.消息中间件的应用场景

跨系统数据传递、高并发流量削峰、数据异步处理

3.常用的消息中间件

AcitveMQ,RabbitMQ,Kafka,RocketMQ

4.本质

一种具备接收请求、保存数据、发送数据等功能的网络应用。

和一般网络应用程序的区别是它主要负责数据的接收和传递,所以性能一般都高于普通程序。

5.5大核心组成

协议,持久化机制,消息分发机制,高可用设计,高可靠设计

消息中间件常用的协议:OpenWire,AMQP,MQTT,Kafka,OpenMessage

消息中间件为啥不用http协议?

http协议复杂,短连接

AMQP协议(Advanced message Queuing protocol)高级消息队列协议,摩根大通,特性:事务,持久化,金融行业(RabbitMQ,ActiveMQ)

MQTT协议(Message Queuing Telemetry Transport)消息队列遥测传输,IBM开发 特性:轻量,结构简单,传输快,没有事务支持,没有持久化,物联网(RabbitMQ,ActiveMQ)

Open messaging,阿里发起,擅长流处理领域 特性:结构简单,解析快,事务,持久化(Apache RocketMQ)

Kafka 特性:结构简单,解析快,无事务(0.11之后支持事务),有持久化(Kafka)

持久化:

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

消息分发:

(1)主动推,(2)拉取

分发策略:

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

 

高可用:产品在规定的条件和规定的时间时刻或者时间区间内处于可执行规定功能状态的能力。当业务量大时,一台消息中间件可能无法满足需求,所以需要消息中间件能够集群部署,来达到高可用的目的。

Master-Slave主从共享数据部署方式

Master-Slave主从同步部署方式

Broker-Cluster多主集群同步部署方式

Broker-Cluster多主集群转发部署方式

Master-Slave与Broker-Cluster结合

高可靠:是指系统可以无障碍的持续运行,比如一个系统从来不崩溃、报错,或者崩溃报错的几率很低,那就是高可靠。

从下面几个方面考虑:

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

消息存储可靠:通过持久化来保证消息存储可靠性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值