我們提及過觀察者模式解耦了對象廣播通知的方式,但這種方式并沒達到完全解耦,畢竟觀察者和通知者是在一起的,如果要增加其他功能,增加通知路由功能(點對點模式,主題模式),然后通知時候做負載均衡,重試,限流等,都需要在通知方加邏輯。為了0耦合,通知方和被通知方都無需關心如何通信,就有了發布訂閱模式。
發布訂閱模式.png
中間增加了Broker(代理方),由通知方根據路由約定發布消息,代理方會根據這些路由規則,轉發給被通知方,中間的通信問題及其高可用處理都無需影響通知和被通知方。實現了0耦合。
我們提及過觀察者模式解耦了對象廣播通知的方式,但這種方式并沒達到完全解耦,畢竟觀察者和通知者是在一起的,如果要增加其他功能,增加通知路由功能(點對點模式,主題模式),然后通知時候做負載均衡,重試,限流等,都需要在通知方加邏輯。為了0耦合,通知方和被通知方都無需關心如何通信,就有了發布訂閱模式。
中間增加了Broker(代理方),由通知方根據路由約定發布消息,代理方會根據這些路由規則,轉發給被通知方,中間的通信問題及其高可用處理都無需影響通知和被通知方。實現了0耦合。