【发布时间】:2018-01-16 00:35:58
【问题描述】:
我正在尝试设置一个负载平衡器,该负载平衡器将重定向到特定版本的应用程序某些用户。到目前为止,我使用的是蓝/绿部署策略(所以一旦我制作了新版本的应用程序,我就会创建新环境并在那里重定向流量)。现在我想改变这种方法。我希望能够指定在身份验证后会看到新站点的用户(更有经验或其他),而其他用户仍将被重定向到旧站点。如果新版本出现问题,所有用户都会看到旧版本。目前我的负载平衡是在 apache 中进行的,并且身份验证是在应用程序级别完成的。那么这甚至可能吗?我知道我可以在应用程序中对其进行硬编码,但是如果新功能中存在错误并且新用户仍然被重定向到那里怎么办?然后我需要停止所有用户的应用程序并回滚到旧版本,我猜这很糟糕。我正在考虑使用外部 CAS,但是如果可能的话,我没有找到任何信息。所以我想问一下是否有可能,是否有任何工具(可能是一些 apache 插件)用于此目的?
【问题讨论】:
-
您是在寻找专门在 apache 中工作的解决方案还是替代解决方案,即使用 nginx 也可以?
-
什么都好。我假设 apache 或 nginx 不会让我这样做,因为首先我需要向应用程序或 CAS 验证用户。然后将具有特定角色的用户重定向到我的应用程序的新版本。
-
未经身份验证的用户应该看到哪个版本的应用程序?如果这样的用户首先看到应用程序的旧版本,并且一旦获得授权,他就会被重定向到新版本,这样可以吗?
-
我希望未经身份验证的用户看到旧版本。是的,那些“特殊”用户首先看到旧版本并在登录新版本后是可以的。基本上,重点是让更有经验的用户在将新版本部署为主版本之前对其进行测试。
标签: deployment load-balancing canary-deployment