Kafka原理&实战——(三)消息队列的流派

目录

1 、什么是MQ

2 、消息队列的流派

2.1、有Broker的MQ

2.1.1  重 topic

2.1.2 轻 topic

2.2 无Broker的MQ


1 、什么是MQ

    Message Queue(MQ),消息队列中间件。通常说,MQ通过消息的发送和接收分离来实现应用程序的异步和解耦,但这只是效果而不是目的,MQ真正的目的是为了通讯,屏蔽底层一整套复杂的通讯协议,定义了一套应用层的,更加简单的通讯协议。MQ带来的不是具体的通讯协议,而是更高层次的通讯模型。它定义了两个对象,发送数据的生产者和接收数据的叫消费者 

2 、消息队列的流派

2.1、有Broker的MQ

    这个流派通常有一台服务器作为Broker,所有的消息都通过它中转。生产者把消息发送给她就结束自己的任务了,Broker则把消息主动推送给消费者(或者消费者主动轮训)

2.1.1  重 topic

    kafka,JMS(ActiveMQ)就属于这个流派,生产者会发送key和数据到Broker,由broker比较key之后决定给哪个消费者。这种模式是我们最常见的模式,是我们对MQ最多的印象、在这种模式下topic往往是一个比较大的概念,甚至一个系统中可能只有一个topic。topic某种意义上就是queue。

    如上图所示,broker定义了三个队列key1,key2,key3,生产者发送数据的时候会发送key1和data,Broker在推送数据的时候则推送data(也可能把key带上)

    虽然架构是一样的,但是kafka的性能比JMS不知道高多少倍,所以基本这种类型的MQ只有kafka一种备选方案

2.1.2 轻 topic

    这种代表是RabbitMQ,生产者发送key和数据,消费者定义订阅的队列,Broker收到数据后会通过一定的逻辑计算出key对应的队列,然后把数据交给队列。

 

2.2 无Broker的MQ

 在生产者和消费者之间没有broker,l例如ZeroMQ,直接通过Socket通信

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值