美文网首页
MQ快速理解

MQ快速理解

作者: Lucie_xxm | 来源:发表于2019-04-28 16:14 被阅读0次

RabbitMQ快速理解

什么是 MQ

  • 消息队列中间件
  • 实现接收和发送的异步解耦

真正的目的是为了通信(为什么)——>分布式系统 模块通信 使用HTTP 难实现

模块 A 可以调用 B,B 也可以主动调用 A

送数据的叫生产者;接收数据的叫消费者

定义生产者和消费者之间实现消息通讯,无视底层通讯协议

有 Broker 的 MQ

Broker 相当于中转服务器

重 Topic

代表是(kafka、JMS(ActiveMQ))


重topic

1、Broker 定义了三个队列,key1,key2,key3
2、生产者把数据发送相应key1和data
3、Broker 推送data(也可能带上key)

应用场景:暴力的数据流(性能最优)
kafaka是最好的选择

轻 Topic

代表是 RabbitMQ


轻 Topic

key和queue 的解耦 轻量级 灵活应用

生产者 只关心发送key

消费者 只关心queue

AMQP 中有四种 exchange

  • key = value
  • queue全部来一份
  • key 可以用“宽字符”模糊匹配 queue
  • 无视 key,通过查看消息的头部元数据来决定发给那个 queue

应用场景:企业总线(灵活性)选择RabbitMQ

无 Broker

代表 是ZeroMQ


无 Broker

解决通信问题
既是生产者又是消费者

做的事情就是封装出一套类似于 Socket 的 API 可以完成发送数据,读取数据

应用场景:实现不同机器的 TCP、UDP 通讯 需要强大的、灵活、野蛮的通讯能力

选择ZeroMQ

相关文章

网友评论

      本文标题:MQ快速理解

      本文链接:https://www.haomeiwen.com/subject/cnqjnqtx.html