我需要实现一个实时聊天系统,有点类似于 Facebook 的,因为它必须:
- 允许 2 个用户之间的通信
- 将消息存储在收件箱/已发送箱中
- 将消息存储在收件箱中,如果用户在发送消息时离线,则标记为未读
- 语言/垃圾邮件过滤器也必须处于活动状态,因为需要监控涉及未成年人的通信。
- 理想情况下,这将适用于大多数设备/浏览器,包括移动访问。
就要使用的操作系统/软件而言,我几乎为这个项目准备了一块空白画布。
做了一些研究后,似乎有一些选择/事情需要考虑?
- PHP/AJAX 长轮询(彗星风格),带有标准 LAMP 堆栈,将消息存储在 mysql 数据库中
- LEMP 堆栈 (nginx) 使用 HTTP 推送模块,同样是彗星式服务器,带有 php 后端将消息存储在 mysql 数据库中
- 节点.js?
- 维护浏览器/设备支持的 HTML5 界面?
- 最好的数据库系统?有人建议使用 mongoDB?
- 有些人还建议使用 MemCacheQ 来提高性能。
你对此有什么想法?有什么建议么?