发布/订阅模式是传统客户端-服务器模型的一个替代模式。在传统的客户机-服务器模型中,客户端直接与断点进行通信。但是,Pub/Sub模式解耦了发送消息的客户端(发布者)与其它接受消息的客户端(订阅者)。这意味着发布者和订阅者都不知道彼此的存在。有一个发布者和订阅者都知道的第三方,称作代理者,它过滤所有传入的消息并进行相应的分发。
发布/订阅的重点是发布者和接受者间的解耦(多纬度区分):
1:空间解耦:发布者和订阅者不需要互相了解(通过ip地址和端口);
2:时间解耦:发布者和订阅者不需要同时运行。
3:同步解耦:在发布和接受过程中,两个组件的操作够不会停止。
总之:发布和订阅解耦了消息的发布者和订阅者,通过消息过滤,可以让客户端只收特定的消息。解耦有三个纬度:空间,时间,同步。