集群架构:聊天室

聊天室中,往往需要涉及到一对一,一对多,群组广播等消息交互方式, 本质上都可以使用发布订阅模式来实现:

  1. 每个用户都有基UID和所在的频道(GPID)。
  2. 用户接入后,应该记录其UID和和GPID对照表,可以使用数据库存储。
  3. 向指定的用户发送消息时,先要根据UID找到对应的频道号,再发送消息至频道即可。
  4. 群组广播形式中,我们可以把群组ID作为频道号,用户加入群组,就是订阅群组频道,我们向群组频道推送消息,那么群组中的用户都可以收到此消息。