代码之家  ›  专栏  ›  技术社区  ›  Carl

发布/订阅范例:为什么消息类必须不知道它们的订户?

  •  0
  • Carl  · 技术社区  · 16 年前

    Wikipedia :“Publish/subscribe(或pub/sub)是一种消息传递范式,其中消息的发送者(发布者)没有被编程为向特定的接收者(订阅者)发送消息。相反,已发布的消息被描述为类,而不知道可能存在什么订户(如果有的话)

    似乎一旦消息传递系统本身就位,通常随着软件的发展而改变的是发送的消息、发布者和接收者。将消息与订阅者分开似乎意味着订阅模型也可能改变。这就是原因吗?还有,这在现实世界中发生过吗?

    我意识到这可能是一个基本的问题,但我试图理解这个范例,你的回答是非常感谢。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Mike    16 年前

    但是,请记住,可伸缩性和向后兼容性将直接受到消息对其订户的感知的影响。

    在可伸缩性方面,当你的消息系统变得流行,每个人和他们的母亲开始为你的应用开发不同的订户(比如twitter)时会发生什么?如何处理发送一千次(每个订阅客户机一次)或发送更大消息的每条消息?这可能会妨碍您使用其他技术,如SMS,或为可靠的传输技术创建更大的延迟。

    这可能是说,这样做,以避免头痛进一步线。

        2
  •  1
  •   Joe Koberg    16 年前

    一条消息贴在布告栏上。有多个不同主题的公告栏。可能没有读者。可能有读者(订阅者)每天都会来查看董事会的感兴趣的话题。可能有1万名读者都读了。

    只要信息是用读者应该知道的语言写的,为什么海报(发布者)或信息本身需要了解订阅者的其他信息?