fel*_*ixx 6 asynchronous servlets comet tomcat7
这是场景:
AsyncContext在Tomcat 7上使用Servlet 3.0()从1个线程/连接模型转移到新实现;我需要帮助理解的一件事是实现"通知器"机制的最佳/最安全的方法.
最简单的方法是标准示例:1个线程等待新消息,然后循环AsyncContexts列表并调用aCtx.getResponse().getWriter().print(message)每个消息.
现在,我担心的是当连接速度较慢的客户端时会发生什么(并且考虑到我们可能有1000个,这种情况总是如此).通知程序线程是否会被阻塞或浪费太多时间等待这些慢速客户端并影响每个人?这可能是微不足道的,但我不清楚"写入"是否为异步或阻塞,或者输出缓冲区是否至少会补偿这一点.
或者更好的是为每个连接的客户端创建一个Runnable(将会这样做aCtx.getResponse().getWriter().print(message))并Executor使用固定的线程池将其提交给一个?我不确定是否创建让我们说一次4000 Runnable(对于每条消息)有意义或性能如何.
最后一点,是否有人使用Tomcat 7为这种应用程序(asynch servlet)提供真实/生产经验?我应该考虑在这个领域做好生产吗?谢谢.
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |