java多服务器聊天架构

标签 java chat nio livechat multiserver

我目前正准备开始使用多个服务器(机器)开发聊天功能(实际上是移植较旧的单服务器版本)。

我想使用java NIO库。

我这样做的原因是,当连接大量客户端(大约10k)时,当前的实现速度非常慢,而且当前的实现是基于IO套接字库的。我还估计 1 年内将拥有大约 40-50k 的实时客户。

所以..我有几个问题:

  1. 您认为/估计 NIO 可以处理多少个客户端,因为我听说它比旧的套接字实现要好得多?
  2. 您有什么想法吗?或者您可以向我指出一些已经实现的使用多服务器聊天的架构。
  3. 使用多服务器架构时我可能会遇到哪些主要问题?

提前致谢

最佳答案

我认为从 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/

相关文章:

Java本地网络聊天

c - 关于 C 中原始套接字的查询很少

java - 当消息大小很大时,socketchannel.write() 会变得非常慢

java NIO.2 全局问题

java - log4j 是否使用 NIO 将数据写入文件?

java - 匿名类可以访问其封闭类的成员吗?

java - 在方法或构造函数中初始化 ArrayList<>()

java - JTree 节点未更新(在 Scala 中)

java - 从 Netbeans 6.5 升级到 Netbeans 6.7 后运行单元测试时出现问题

c - 如何使用轮询接受多个客户端? (TCP 服务器) (C)