一些注意事项:
- 每秒轮询一次是过大的。两次检查之间有几秒钟的延迟,该应用程序仍会感觉非常响应。
- 要保存数据库的流量和速度响应,请考虑使用内存中缓存来存储未传递的消息。您仍然可以将消息持久保存到数据库,内存缓存仅用于查询新消息,以避免每个用户每x秒对数据库查询一次。
- 闲置x秒钟后,用户的聊天超时,以停止轮询服务器。这样可以确保打开窗口的人不会继续产生流量。提供一个简单的“仍然在那里?继续聊天”。链接到超时的会话,并在超时之前警告用户,以便他们可以延长超时时间。
- 我建议从轮询开始,而不是从彗星/长轮询/套接字开始。轮询易于构建和支持,短期内可能会很好地扩展。如果流量很大,则可以增加硬件和负载均衡器来解决问题。整个网络都基于轮询-轮询肯定可以扩展。在某种程度上说,像彗星/长轮询/类似这样的替代方案的复杂性是有意义的,但是在证明额外的开发时间/复杂性之前,您需要大量的流量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)