0

我想使用 node.js 实现推送通知服务器。基本场景是:

  1. 一些应用程序向服务器发送通知消息。
  2. 通知服务器接收请求并根据用户的偏好将消息转发到用户的邮件或即时消息客户端。

在第 1 步中,您会从性能角度推荐哪种协议(例如 REST、套接字、HTTP/XML 等)?

同样在第 2 步中,我计划将 node-xmpp 模块用于 IM 客户端,但用于邮件,哪种方式最好实施?例如,

  1. 只需使用 SMTP。(但我认为这可能会导致性能下降,因为 SMTP 是一种昂贵的通信,性能取决于 SMTP 服务器的容量。
  2. 使用队列机制,以避免上述弊端。node.js 应用程序只是将消息放入队列,然后 smtp 服务器拉取消息。
  3. 其他解决方案...

提前致谢。

4

1 回答 1

0

关于使用什么作为协议,我会选择一个 REST 接口,通过该接口,应用程序发布将 POST 请求发送到与用户关联的资源。类似于“http://example.com/rest/v1/{userID}/notifications

我个人会使用 json 作为其余请求的数据/内容,并让 node.js 将此信息写入消息队列。(作为 json 字符串)。

您可以为每个用户拥有 xmpp 阅读器,以及 SMTP 处理程序从该队列中读取的速度与 SMTP 服务器允许的速度一样快。

然而,这篇完整的帖子是我在你的情况下会做的,而不是对什么是最好的事实回应。我非常了解 JMS,并且最近我一直在使用其他接口,因此这就是我会做的方式。

于 2012-10-12T04:47:11.257 回答