在部署Web应用程序时,常见的方法是将实际应用程序逻辑实现为一系列服务并通过HTTP公开它们,然后在服务和用户之间放置一些前端。通常,这些前端将处理诸如SSL,会话数据,负载平衡,路由请求,可能的缓存等内容。
AFAIK,通常意味着每次有新请求进入时,必须向一个或多个后端发出一个或多个新请求:每个请求都有TCP握手,HTTP开销等。
这些额外的连接是否会增加可衡量的延迟和/或性能损失? 如果是这样,通常采用哪些技术来从这种部署中获得最佳性能?
答案 0 :(得分:0)
本地连接的延迟最小 - 最多可能是一位数毫秒。额外的HTTP会话会有一些占用开销,但随后会在不同的应用程序之间传播。
您描述的方法的优点是在不同的应用程序之间分配负载,因此您可以拥有大量前端位,像SSL一样繁重,并且拥有更少的后端应用程序来处理更多会话。您可以选择和混合您需要的应用程序。
一个单一的应用程序可能会快一点,直到它耗尽容量,此时你遇到问题,因为它难以扩展。