Kafka(2)消息队列

      最后更新:2022-01-21 10:26:06 手机定位技术交流文章

      消息队列概述(MQ)

      之前在RabbitMQ栏目( 博客 )中说明过MQ,在这里做一些补充:

      1. 屏蔽了底层复制的通讯协议,定义了一套更加简单的通信协议
      2. 消息队列解决的问题:通信问题
      3. 消息队列中间件:

        在这里插入图片描述
        可以分为两个大类:
        Broker可以当作一个中转站

        1. 有broker的MQ
        2. 五Broker的MQ

      有Broker的MQ

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

      比如说,去发送一条消息,该消息是到消息队列(MQ)里面的,该消息再由消息中间件(MQ)分配到某一个队列里面,在中间件里面的这种转发,就是Broker做的

      有Brooker的又分为两种:

      1. 重Topic:Kafka、RockerMQ、ActiveMQ
      2. 轻Topic:RabbitMQ

      重Topic

      Kafka、JMS(ActiveMQ)属于这个流派

      重Topic:指整个消息进行转发的时候,以Topic作为依据

      整个broker,依据topic来进行消息的中转。在重topic的消息队列里必然需要topic的存在

      比如说,一个消费者1订阅Topic1,另一个消费者2订阅Topic2;如果一个消息发送给Topic1的话,消费者1能够收到,而消费者2收不到

      轻Topic

      代表:RabbitMQ

      轻Topic:内部可以使用Topic,也可以不使用

      topic只是一种中转模式

      无Broker的MQ

      代表:ZeroMQ,直接使用socket进行通信
      在这里插入图片描述
      节点之间通讯的消息都是发送到彼此的队列中,每个节点都既是生产者又是消费者。ZeroMQ做的事情就是封装出一套类似于Socket的API可以完成发送数据,读取数据

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/17004.html

          热门文章

          文章分类