【问题标题】:Handle many requests Web Services处理许多请求 Web 服务
【发布时间】:2014-07-28 10:39:29
【问题描述】:

我在 localhost 中使用 Jersey 和 Tomcat 创建了一个 Web 服务。

现在我想向世界上所有用户公开我的 Web 服务,所以假设您有许多并发请求。

我可以使用一台好的物理刀片服务器(4 CPU(8 核)-32GB RAM、600GB HD 等..),只有一个。

我在想,用单台物理服务器做负载均衡有用吗?或代理储备?还是仅当您有多个物理服务器时?

我应该如何使用 Tomcat 和 Jersey 管理架构?

处理许多请求的可能解决方案是什么?线程池?但是我怎么能用泽西岛做到这一点?

【问题讨论】:

  • 这和代码有关怎么办?你应该先自己做研究,然后去serverfault讨论细节。

标签: java tomcat


【解决方案1】:

我在想,用单台物理服务器做负载均衡有用吗?

单个服务器实例没用

还是代理储备?

这取决于您的需求。

或者仅当您有多个物理服务器时?

这里的负载均衡器在 100% 的情况下大多是强制性的,但仍然取决于您的需求

我应该如何使用 Tomcat 和 Jersey 管理架构?

同样——需求和要求是什么?

处理许多请求的可能解决方案是什么?池 线程?但是我怎么能用泽西岛做到这一点?

Tomcat 会处理多线程。

【讨论】:

  • 我有一个客户端应用程序 android 和服务器(tomcat + jersey)。我现在的问题是弄清楚如何同时处理许多请求?示例 100 用户使用我的应用程序通过我的 Web 服务中的 API 检索某些内容,我该如何处理?我认为是一个线程池,但我不确定泽西岛如何......或异步?对不起我的英语不好
  • @FelasDroid tomcat 是处理来自多个用户的多个请求的 servlet 容器。每个请求都将传递给一个服务(球衣),该服务将对每个请求做出响应。
  • 线程池用于在单个请求中您想要执行多个任务并且这些任务不应该相互阻塞,例如:根据用户请求您想要发送电子邮件,在这种情况下,这是不好的做法让客户端等到发送电子邮件,这里你将使用线程池。
  • 嗨,感谢您的回答。每个 API 都包含一个 Web 驱动程序,用于模拟 Web 浏览并将 html 源代码返回给应用程序。所以每个请求我都必须打开一个无头浏览器并做一些操作来导航(Selenium)。您认为为了获得更好的性能并且没有过载服务器,ThreadPool 是一种解决方案吗?还是不行?
  • 性能和负载问题值得写博士论文。假设您拥有哪些硬件,并且如果您实施了“like_in_a_doc”服务,您将不会收到任何具有 200-300 名普通用户的性能问题。
猜你喜欢
  • 2010-10-25
  • 2013-05-14
  • 2010-09-10
  • 2013-04-28
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多