设计Web应用程序:业务逻辑应该驻留在哪里?

时间:2012-09-20 15:51:45

标签: java multithreading performance tomcat

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

1 个答案:

答案 0 :(得分:1)

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