【问题标题】:Suggestions on architecture for XMPP-based chat service?关于基于 XMPP 的聊天服务架构的建议?
【发布时间】:2011-08-05 14:58:41
【问题描述】:

假设我的目标是创建一个聊天服务。我还想要多个独立的聊天室。

我倾向于使用 XMPP 进行扩展/负载平衡。看了here的文章,正在看

假设我想从一个客户向另一个客户发送消息。根据这张图,

1) 发送者向发送者的 XMPP 服务器发送消息。 2) 发送者的 XMPP 服务器将消息中继到 MUC 服务器。 3) MUC 服务器确定接收者连接到哪个服务器并在那里中继消息。

(如果我错了,请纠正我)

两个问题:

1) 文章建议将 MUC 集群在多台服务器上。这是否意味着 a) 将 MUC 服务器的状态镜像到发送方和接收方服务器上,或者 b) 将图表的 MUC 部分转换为多个服务器,并且发送方和接收方服务器与该集群透明地通信?

2) 当用户第一次连接到一个节点时,网络如何知道用户绑定到哪个服务器?是否有单点入口机器来委派这个?

【问题讨论】:

    标签: xmpp


    【解决方案1】:

    就系统入口点而言,您的客户端将始终使用默认入口点或您在 DNS SRV 设置中指定的入口点,即用户 rcv 并仅通过您的 xmpp 服务器端口 5222 (c2s) 发送数据或5269 (s2s)。

    所以 MUC 消息节流看起来像这样(如果我误解了你的问题,请让我知道):

    a) 如果发件人/收件人都在您的服务器上注册

    sender@myjabber.com myjabber.com:5222 muc.myjabber.com myjabber.com:5222 receiver@myjabber.com

    b) 如果发件人是@gmail.com 用户和Rcvr @myjabber.com 用户

    sender@gmail.com talk.google.com:5222 myjabber.com:5269 muc.myjabber.com myjabber.com:5222 接收者@myjabber.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-19
      • 2018-07-19
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      相关资源
      最近更新 更多