• 分布式通信技术之发布订阅


    发布订阅的基本工作原理

    点对点模式: 虽然支持多个消费者,但是一个消息只能被一个消费者消费,不允许重复消费

    发布订阅模式:消息中心通常以主题进行划分,每条消息都会有相应的主题,消息被存储到自己所属的主题中,订阅该主题的所有消费者均可以获取该消息

    Kafka发布订阅原理及工作机制

    基本架构

    zookeeper集群统一协调和管理kafka组件,并存储一些元数据信息

    Broker和Consumer

    分区:

    一个主题被划分成多个集合,分布在不同的broker上,不同的broker分布在不同的节点上。好处:

    1. 实现负载均衡,避免单个broker的负载过高

    2.实现消息的备份,从而保证系统的高可靠

    分组:

    消费组是多个消费者的集合,一个消费组中的消费者共同消费主体消息,并主题中的每个消息只能由消费组中的某一个消费组进行消费。主要目的是为了防止在消息过多的情况下,单个消费组消费能力有限时,导致消费效率过低

    发布订阅的基本特征

    1.实现了系统解耦,易于维护

    2.实现了异步执行,避免高负载

    观察者模式与发布订阅模式对比

    观察者模式中观察者和被观察者之间直接交互,发布订阅模式中加入了消息中心,实现的是间接通信

  • 相关阅读:
    laravel如何自定义一个路由文件
    RGAC-laravel权限管理
    导航栏下划线跟随
    php简单的判断用户登陆
    php判断文件上传的类型
    git 如何删除仓库中的文件
    laravle中config( )函数的使用
    [leetcode] Count and Say
    [leetcode] Sudoku Solver
    [leetcode] Search Insert Position
  • 原文地址:https://www.cnblogs.com/battlescars/p/publish_subscribe.html
Copyright © 2020-2023  润新知