发布订阅(pub/sub)消息通信模式致力于解耦消息发布者和订阅者,其原理类似观察者模式。它不仅消除代码层面的耦合,也消除物理部署上的关联。
Redis充当pub/sub服务器,负责消息路由。订阅者通过subscribe
和psubscribe
命令订阅感兴趣的消息类型,即Redis中的通道(channel)。发布者使用publish
命令发送特定类型的消息,所有订阅该类型的客户端都会收到消息。
消息传递是多对多的,一个客户端可以订阅多个通道,也可以向多个通道发送消息。例如,三个客户端:client1订阅tv1
通道,client2订阅tv1
和tv2
通道,client3发布tv1
和tv2
的消息。