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