【发布时间】:2011-11-24 12:08:43
【问题描述】:
我是 Java NIO 的新手。我有一点疑问。如果我使用 NIO 而不是 socket 客户端,服务器是否也应该使用 NIO 还是没有关系?
我担心应用程序的可扩展性。我正在查看每台服务器每秒大约 500-1000 个客户端请求。由于我会将数据发送到至少三个不同的服务器,因此理想情况下我每秒可以查看大约 1500 个客户端请求。为此,我已经有了一个相当不错的套接字池实现。
我拥有的是每个服务器的套接字连接池。每个线程从池中获取一个可用的套接字连接并将其发送到服务器
我正在尝试了解 NIO 是否可以提供帮助,或者在任何方面都比套接字客户端更好。 怎么堵?普通客户端会阻塞或超时。
【问题讨论】:
-
NIO 在服务器端不是比在客户端更有用吗?我不明白为什么它是客户端而不是服务器的要求?
-
@jgauffin 我只关心客户端。服务器是第三方应用程序,我通过 TCP 向其发送数据。我只打算最大化我的客户的性能。我正在考虑我的选择。那么使用 NIO 作为客户端与普通套接字客户端相比是一个好主意吗?
-
恕我直言,您不会通过使用 NIO 从客户端获得更多性能。瓶颈将是服务器或网络。此外,NIO 更复杂,您很可能会出错而影响性能。保持简单并完成您的应用程序。
标签: java sockets nio socket.io