如何在XMPP服务器上实现XEP-0289 FMUC插件?

时间:2014-08-25 18:46:44

标签: xmpp openfire multiuserchat federated

我需要在XEP-0289的行上实现分布式XMPP MuC应用程序减去一些功能,本质上我想要实现插件的简单实现,我的关注是解决容错问题现在我不想担心289中指定的性能考虑因素。 我已经将SleekXmpp看作是开发服务器端插件的工具,但是不知道将它用于这样的实现是多么的舒服,我看过的其他选项是OpenFire,Tigase。我很熟悉Python / Java和其他关键功能,考虑好的文档,易用性等等,记住这一点我想知道这个开发的首选路径是什么。 任何指导将不胜感激。

1 个答案:

答案 0 :(得分:2)

您应该能够编写包含FMUC(或类似)的MUC组件。执行此操作的一般方法是使用支持XEP-0114组件的库(例如SleekXMPP(Python),Swiften(C ++))并通过它实现MUC + FMUC。你还没有说过你对SleekXMPP的关注,但是它在XMPP社区中是一个相当受尊敬的库,所以看起来是一个公平的选择(我选择Swiften,但我作为其中一位作者有偏见)。< / p>

您的第二个选项(直接修补服务器)通常不是添加自定义的XMPPish方式(因为它是特定于供应商的),但是如果您能找到对服务器代码足够熟悉的人,或者如果您'我愿意这样做。

要实现容错(假设您意味着恢复服务器故障),您需要运行群集的XMPP服务器,并集群FMUC实施。完成后,在DNS中使用SRV记录进行的常规XMPP故障转移应确保其他服务器重试与其他主机的连接。

另一方面,下一版本的FMUC(XEP-0289)将删除当前版本的一些功能,并根据部署经验进行了一些改进,因此如果您的工作不是时间 - 至关重要的是,当它被释放时,你可能会对它有所帮助。我还注意到至少存在一个FMUC的实现(Isode的M-Link,我工作),并且有其他供应商的兴趣,所以使用标准协议可能会让你受益于不重新发明轮子