我目前正准备开始使用多个服务器(机器)开发聊天功能(实际上是移植较旧的单服务器版本)。
我想使用java NIO库。
我这样做的原因是,当连接大量客户端(大约10k)时,当前的实现速度非常慢,而且当前的实现是基于IO套接字库的。我还估计 1 年内将拥有大约 40-50k 的实时客户。
所以..我有几个问题:
- 您认为/估计 NIO 可以处理多少个客户端,因为我听说它比旧的套接字实现要好得多?
- 您有什么想法吗?或者您可以向我指出一些已经实现的使用多服务器聊天的架构。
- 使用多服务器架构时我可能会遇到哪些主要问题?
提前致谢
最佳答案
我认为从 NIO 库的角度来看没有任何限制。归根结底,性能取决于您的服务器和网络配置。
您可能想看看Apache MINA Project用于 NIO 框架。
Apache MINA 是一个网络应用框架,可以帮助用户轻松开发高性能、高扩展性的网络应用。它通过 Java NIO 提供基于 TCP/IP 和 UDP/IP 等各种传输的抽象·事件驱动·异步 API。
Apache MINA 通常被称为:
。 NIO框架·库,
。客户端·服务器框架·库,或
。一个网络·套接字库。
关于java多服务器聊天架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791979/