语境
应用:单页实时网页应用
功能:
- 用户在应用程序上操作小部件,小部件数据发送到服务器
- 服务器使用工作线程计算并将数据发送回应用程序
沟通:
- 类型:目前只有app <--> server。
- 将来需要发布/订阅
- 大小:无论哪种方式,每次更新 JSON 数 kB
- 频率:每分钟 1-10 次更新
峰值负载:数百个并发用户(当然)
开发者能力:麻瓜
方法
1)朴素的做法:托管node.js + express + socket.io
我有一个沙盒,可以用天真的方法运行,但我觉得像 Toonces The Driving Cat(我告诉过你他会开车!只是不太好!)。我为 csp、xframe、xss 等戴上了头盔,但我的 socket.io 代码非常基本,没有特殊的事件处理程序或流量限制。
2) 替代方法:托管 node.js + 托管实时数据/消息服务
这里的期望是托管的实时数据/消息传递服务是强大的,并且可以扩展到流量,除了处理 DoS 和安全传输等问题。托管的 node.js 应用程序将在 CDN 后面提供静态文件,因此主要处理实时数据和工作线程。node.js 应用程序不会直接面向 Web 应用程序用户。
问题
您是否会推荐方法#2,因为它明显优越且值得额外费用?
欢迎任何其他评论/建议。