共计 1349 个字符,预计需要花费 4 分钟才能阅读完成。
1、什么是消息中间件
利用高效牢靠的消息传递机制进行平台无关的数据交换;
并基于数据通信来进行分布式系统的集成;
通过提供消息传递和音讯排队模型,它能够在分布式环境下扩大过程间的通信;
2、消息中间件的利用场景
跨零碎数据传递、高并发流量削峰、数据异步解决…等等
3、罕用的消息中间件
ActiveMQ、RabbitMQ、Kafka、RocketMQ
4、消息中间件设计思维
协定、长久化机制、音讯散发策略、高可用、高牢靠
5、协定是什么
协定是计算机之间通信时独特听从的一组约定,都恪守雷同的约定,计算机之间能力互相交换。协定是计算机之间通信时独特听从的一组约定,都恪守雷同的约定,计算机之间能力互相交换。
协定三要素:
语法 : 即数据与管制信息的构造或格局;
语义: 即须要收回何种管制信息,实现何种动作以及做出何种响应;时序(同步): 即事件实现程序的具体阐明
消息中间件罕用的协定:OpenWire、AMQP、MQTT、Kafka、OpenMessage
MQTT 协定(RabbiMQ、ActiveMQ):
MQTT (Message Queuing Telemetry Transport)音讯队列遥测传输是 IBM 开发的一个即时通讯协定,物联网零碎架构中的重要组成部分。
个性:轻量、构造简略、传输快、没有事务反对、没有长久化相干设计
利用场景:实用于计算能力无限、低带宽、网络不稳固的场景。
Open Message 协定(RocketMQ)
OpenMessaging 是近一两年由阿里发动,与雅虎、滴滴出行、Streamlio 等公司独特参加创建的分布式消息中间件、流解决畛域的利用开发规范。是国内首个在寰球范畴内发动的分布式音讯畛域国内准。
个性:构造简略、解析快、有事务设计、有长久化设计
Kafka 协定(kafka)
Kafka 协定是基于 TCP 的二进制协定。音讯外部是通过长度来分隔,由一些根本数据类型组成。
个性:构造简略、解析快、无事务设计、有长久化设计
6、罕用长久化形式
ActiveMQ | RabbitMQ | Kafka | RocketMQ | |
---|---|---|---|---|
文件系统 | 反对 | 反对 | 反对 | 反对 |
数据库 | 反对 | / | / | / |
7、罕用的消息中间件散发策略
ActiveMQ | RabbitMQ | Kafka | RocketMQ | |
---|---|---|---|---|
公布订阅 | 反对 | 反对 | 反对 | 反对 |
轮询散发 | 反对 | 反对 | 反对 | / |
偏心散发 | / | 反对 | 反对 | / |
重发 | 反对 | 反对 | / | 反对 |
音讯拉取 | / | 反对 | 反对 | 反对 |
8、高可用机制
高可用性 是指产品在规定的条件和规定的时刻或工夫区间内处于可执行规定性能状态的能力。
当业务量大时,一台消息中间件服务器可能无奈满足需要, 所以须要消息中间件可能集群部署,来达到高可用的目标。
Master-Slave 主从共享数据的部署形式
Master-Slave 主从同步部署形式
Broker-Cluster 多主集群同步部署形式
Broker-Cluster 多主集群转发部署形式
Master-Slave 与 Broker-Cluster 联合
9、高牢靠是什么
高可靠性是指零碎能够无故障地继续运行 。比方一个零碎从来不解体、报错,或者解体、报错的几率较低,那就是高牢靠。
在高并发业务场景下,如果不能保证系统的高牢靠,那造成的损失将会十分重大。
保障消息中间件的高可靠性,能够从以下几方面思考
音讯传输牢靠:通过协定来保证系统间数据解析的正确性。
音讯存储牢靠:通过长久化来保障音讯的存储可靠性。