【发布时间】:2016-07-06 00:40:36
【问题描述】:
我目前将我的 Web 应用程序托管在 AWS 上,我使用两个 ELB 实例,一个用于负载平衡前端请求到应用程序服务器,另一个用于负载平衡从应用程序服务器到 API 服务器的后端请求,像这样(对不起,糟糕的ascii图):
/-->APP1--\ /-->API1
User-->ELB1 ELB2
\-->APP2--/ \-->API2
换言之,APP 服务器发出的 API 请求在两个后端 API 服务器之间进行负载均衡。
但是,因为我在 API 服务器上缓存响应,并且使用了一种不在 API 服务器之间共享的缓存失效机制,所以我希望用户的会话被卡在一个后端 API 服务器上。
我已经让用户的会话卡在一个 APP 服务器上,使用正常的 ELB 负载均衡器生成的 cookie 粘性,但是有什么方法可以让后端 ELB 卡在会话上?当然,这些请求不是来自浏览器,所以没有什么可以管理 cookie,而且似乎 ELB 只能使用 cookie 管理粘性。我可以模拟我的后端请求所需的 cookie 吗?
【问题讨论】: