【发布时间】:2012-12-09 12:07:31
【问题描述】:
我计划将实时通知集成到我目前正在开发的 Web 应用程序中。我决定为此使用 XMPP,并选择了我认为适合我需要的 openfire 服务器。
前端使用 strophe 库使用 BOSH 从我的 openfire 服务器获取通知。但是通知是通知,其他消息将由我的应用程序发布,因此我认为此代码需要驻留在后端。 最初我想使用 XMPHP 和 JAXL 等 PHP XMPP 库,但后来我认为这会导致很多开销,因为每个脚本都必须执行相同的步骤,如连接、身份验证等,我认为这会使 PHP 结束有点慢并且反应迟钝。
现在我正在考虑创建一个中间件应用程序,充当 PHP 将调用的 Web 服务,该应用程序将使用 XMPP 服务处理这些内容。这样做的好处是这个应用程序(如果你愿意的话是一个服务器)只需连接一次,它就会坐在那里监听一个端口。我还计划以异步方式构建它,这样它将首先从我的 PHp 应用程序中获取所有请求,然后在没有更多请求时获取;去做通知发布的事情。我计划使用 SleekXMPP 在 Python 中创建此服务。
这正是我的计划。我是 XMPP 的新手,我想就内存和 CPU 使用率、优势、劣势、可扩展性问题、安全性等问题向您的 cmets 提出建议。
提前致谢。
PS:-- 如果这样的东西已经存在(虽然我在谷歌上搜索了很多之后没有找到)请指导我那里。
编辑—— 中层服务应该做以下(但不限于): 1.发布不同级别的群组和社区页面的通知。 2. 通知单个用户的某些事件。 3. 用户注册(可以使用用户服务插件)。
编辑—— 它还应该创建 pub-sub 节点并从这些 pub-sub 节点订阅和取消订阅用户。
我还想将通知和消息存储在数据库中(openfire 没有)。这会是一个不错的选择吗?
【问题讨论】:
-
你能提供更多关于这个中间件应用程序的信息吗?
标签: python web-services xmpp openfire strophe