2

有一个 Web 应用程序的设计,我不确定如何评估它的好坏。
想法如下:
您在 Tomcat 中部署了一个 Web 应用程序(非平凡的),它接受客户端请求。我猜这个负载可能是Tomcat可以处理的。
现在实际处理不在容器内完成,而是委托给另一个进程,它通过单个TCP连接连接。所以这里本质上发生的是多路复用。
即客户端请求由客户端并发发送,这些请求作为消息发送到另一个进程以处理(我猜该进程本身将是多线程的)但通过一个连接
我从一位同事那里听过类似的设计(在另一个平台上),性能非常好,但从我的角度来看,这在使用单个 TCP 连接方面存在瓶颈。
尽管我在多线程方面经验丰富,但我并不真正了解或使用过异步方法(nio 等),我想知道这是否适合这一类。
有没有人使用多路复用作为大型项目的一部分(至少是这种方式)?这是一个不错的选择吗?

4

1 回答 1

1

我同意你的看法。这是一个瓶颈和糟糕的设计。如果第二个 TCP 服务器可以是多线程的并且一次处理多个客户端,那么您当然应该以这种方式实现它,就像另一个 TCP 服务器(例如 Tomcat 本身)一样,并使用多个连接到它。

于 2012-09-20T23:38:33.487 回答