首页 > 技术文章 > 设计模式

judesheng 2019-04-03 15:58 原文

发布-订阅模式

  • 特点
    1. 一对多的模式
    2. 基于事件
  • 传统的请求/响应模式的缺点
    1. 生产者调用消费者,随着消费者变多,生产者需要改动,这就是耦合性
    2. 消费者调用生产者,生产者的负载与消费者成正比
  • 优点
    1. 解耦合 : 两个应用不需要相互调用
    2. 可扩展性 : 消费者的个数可实时扩展
    3. 实时性 : 消费者能实时的获取生产者发布的事件
    4. 高效 :减少由于多个消费者请求数据造成的数据计算带来的资源消耗
    5. 异步通讯 :发布-订阅模式是天生的异步通讯
  • 应用范围
    1. 适合数据一被生产,就需要被处理的情况
    2. 适合数据具有潜在消费者的情况
    3. 适合无论有没有消费者,数据都在主动生产的情况
    4. 不适合对数据的处理时间有特殊限定的情况
  • 挑战
    1. 事件驱动和异步编成会带来一定的复杂度,需要谨慎选择
    2. 需要确保各个流程有很好的监控,有服务跟踪

生产者-消费者模式

推荐阅读