初入Mq

一. 什么是消息中间件
利用高效可靠的消息传递机制进行平台无关的数据交流;
并给予数据通信来进行分布式系统的集成;
通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
二.消息中间件应用场景
1.跨系统数据传递
2.高并发流量的削峰,
3.数据的异步处理。
三.常用消息中间件
ActiveMQ:由Apache纯用java进行开发的消息中间件,存在的时间久远,完全遵循JMS进行开发。
RabbitMQ:支持的消息分发机制最全,使用Erlang语言进行开发的
Kafka:使用scala和java进行开发的语言,为了弥补Activemq的吞吐量低而进行开发的语言。具有高吞吐量的特点,可以和Hadoop结合。进行大数据的开发。
RocketMQ:由阿里使用java开发的一个高性能分布式,经受了双十一的考验。
四.消息中间件核心设计及各部分概述
本质:一种具有接受请求,保存数据,发送数据等功能的网络应用和一般网络应用程序的区别是它主要负责数据的接受和传递,所以性能优于普通程序。
1.协议(语法,语义,同步)
OpenWire:ActiveMQ专属
AMQP:事务支持,持久化支持,出生于金融,可靠性高(RabbitMQ,ACTIVEMQ)
MQTT:即时通讯协议,主要用去物联网,轻量级,结构简单,传输快,不支持事务,没有持久化相关设计。适用于计算能力有限低带宽,网络不稳定的场景(RabbitMQ,ACTIVEMQ)
Kafka:基于tcp二进制。结构简单,解析快,无事务设计,有持久

ActiveMqRabbitMqKafaRocketMq
文件系统支持支持支持支持
数据库支持不支持不支持不支持

化设计
OpenMessage:由阿里等发起的,特点,结构简单,解析快,支持事务,支持持久化(RocketMQ)。
2.消息分发机制

ActiveMqRabbitMQKafkaRocketMQ
发布订阅:支持支持支持支持
轮询分发支持支持支持不支持
公平分发不支持支持支持不支持
重发支持支持不支持支持
消息拉取不支持支持支持支持

总结:消息分发机制共有五种,分别为发布订阅,轮询发送,公平发布,重发,消息拉取。ActiveMq不支持公平发送和消息拉取。RabbitMq全部支持。Kafka不支持重发,RocketMq不支持轮询发送和公平发布
三.高可用设计
1.Master-Slave主从共享数据部署方式
2.Master-Slave主从同步部署(插入修改只能修改主数据库,占用大量带宽)
3.Broker-Cluster多主集群同步部署方式(多个主机同时同步,每一个都是主机)
4.Broker-Cluster多主集群转发部署方式(知道数据在哪里,共享元数据)
5.Master-Slave与Broker-Cluster结合
归给接地,三种形式,1.同步数据 2.知道数据在哪里 3.二者结合。
四.高可靠设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值