一次登录、一次重定向和一次报告下载是三个请求。但对用户来说,它们是一项任务。即使每个代理都正常工作,在每个请求之间切换出口也可能让这项任务更难理解。

先定义拥有这条路由的单位。请求级的选择适合相互独立的操作。对于这些公开操作,免费代理列表在允许使用公共中间人时提供候选;它不提供任何粘性会话保证。工作流级的选择则让相关步骤沿着一条有意的路径,直到工作流结束,或由一项明确的恢复决策将其替换。

Cookie 与代理粘性是不同的状态

应用 Cookie 属于网站的会话规则。服务商的粘性会话标识符(如果提供)属于其代理服务以及有文档说明的连接或账户政策。它们不会仅仅因为都使用会话一词就变成同一个设置。

普通的 CONNECT 中间人无法读取网站加密后的 Cookie 头并将其用作路由键。如果某项服务承诺由 Cookie 驱动的行为,就要弄清是哪个可见接口承载该 Cookie,以及 TLS 是否在那里终止。不要假设网站的私有 Cookie 会自动对隧道网关可用。

保留一份小型工作流记录:所选端点、使用的服务商会话标识符、应用会话标识符,以及结束粘性的条件。不要把账户密钥放进日常记录键里。

为不顺利的情况做计划

如果所选路由中途失败,要决定工作流能否安全地在另一个出口继续、是否需要重新建立应用会话,还是必须停止。响应失败并不总意味着已提交的操作从未被处理。

永久粘性和持续轮换都不是普遍正确的。应根据应用的一致性要求选择范围,然后对整个过程应用请求节奏和服务限制。更多的出口并不会消除这些要求。

相关文章