我使用 Poco 为 Linux 编写了一个代理服务器,但此后一直在阅读实现 TCP/IP 服务器可伸缩性的各种方法。我需要服务器来处理持久连接(不是 HTTP 流量),同时连接的上限约为 250 个。每个连接通常使用大约 5-10Kb/秒,处理流量的最佳延迟至关重要。
就目前而言,我正在使用 Poco SocketReactor,它使用 Reactor 模型,其核心是 select() 调用,但是我已经阅读了 C10K 问题以及其他一些资源,似乎使用这种方法可能不是最好的主意。我相信 Poco 库中有一个使用 poll() 的测试实现,所以这可能是改进的一个选项。
有没有人有使用 Poco SocketReactor 的经验,你知道它在我的场景中的扩展性如何?如果它不能很好地扩展,将不胜感激有关替代方案的建议。