java多服务器聊天架构
我现在正准备开始开发一个聊天工具,它实际上是使用多个服务器来移植一个旧的单服务器版本 我想使用JavaNIO库 我之所以这样做,是因为当前的实现在连接大量客户机(大约10k)时运行非常缓慢,而且当前的实现基于IO套接字库。我还估计,在1年内,将有大约4-5万名实时客户 所以。。我有几个问题: 您认为/估计NIO可以处理多少个客户端,因为我听说它比旧的套接字实现好得多? 你有什么想法吗?或者你可以告诉我一些已经实现的使用多服务器聊天的架构。 在使用多服务器体系结构时,我可能会面临哪些主要问题?java多服务器聊天架构,java,chat,nio,livechat,multiserver,Java,Chat,Nio,Livechat,Multiserver,我现在正准备开始开发一个聊天工具,它实际上是使用多个服务器来移植一个旧的单服务器版本 我想使用JavaNIO库 我之所以这样做,是因为当前的实现在连接大量客户机(大约10k)时运行非常缓慢,而且当前的实现基于IO套接字库。我还估计,在1年内,将有大约4-5万名实时客户 所以。。我有几个问题: 您认为/估计NIO可以处理多少个客户端,因为我听说它比旧的套接字实现好得多? 你有什么想法吗?或者你可以告诉我一些已经实现的使用多服务器聊天的架构。 在使用多服务器体系结构时,我可能会面临哪些主要问题? 提
提前感谢从NIO库的角度来看,我认为没有任何限制。最终,性能取决于服务器和网络配置 您可能希望了解一下NIO框架 ApacheMina是一个网络应用程序框架,帮助用户轻松开发高性能和高可扩展性的网络应用程序。它通过Java NIO通过TCP/IP和UDP/IP等各种传输提供抽象的、事件驱动的、异步的API Apache MINA通常被称为: . NIO框架·库, . 客户端·服务器框架·库,或
. 网络·套接字库。如果没有性能测试,很难给出评估;您可以支持的客户端数量将根据内存、处理器速度/负载、带宽/容量、延迟要求、存储要求而有所不同 有几种方法可用于在服务器之间共享数据;我会选择它们之间的广播/多播UDP,因为这是最具伸缩性的方法 您可能面临的最大问题是如何应对服务器中断,以及如何正确处理负载平衡 编辑
如果服务器对服务器不依赖于NIO,那么发布/订阅模式下的JMS可能是一个不错的解决方案。JBoss HornetQ JMS消息代理会是一个选项吗?在Linux上,他们为消息持久性提供了AIO,他们声称这非常快:-使用发布/订阅通信模型,可以轻松实现聊天。它可以是集群的。