发布订阅模式

43 阅读1分钟

发布订阅模式

发布订阅模式是一个软件架构中的一种消息范式,也是经典的设计模式

发布者不直接与订阅者联系,发布者将要发布的消息交由中心管理订阅者也是根据自己的情况,按需订阅中心中的消息。

比如作家(生产者) 写好文章交给报社(发布订阅中心) ,由报社负责销售 。你(订阅者) 订阅了某个专题(主题)报纸,你订阅的报纸报社安排人送到你家。

好处:生产者与订阅者解耦,生产者发送消息后不需要关注消息的状态,仅需要专注于自己的工作。订阅者订阅消息后,只需要等消息到达后进行处理,不需要关注消息如何到达。由发布订阅中心负责消息的存储、转发、传输。

角色:

  • 发布者:生成消息
  • 发布订阅中心:该范式的重点,从发布者获取消息,并转发给相应的订阅者。
  • 订阅者:处理消息

相关应用:消息队列(如RabbitMQ),jdk9的响应式流

背压:减缓发布者发布消息的速度。