我是一位习惯于测试和调试代码的开发人员。
有时我必须更改我们的负载均衡器配置。据我所知,如果我搞砸了,可能会导致整个网站停止运行,但我们没有办法离线测试它。
人们如何测试这些东西?我希望有某种模拟器可以使用。或者是否有第二个配置用于测试?
我希望我对负载均衡器所做的更改与我对代码所做的更改一样有信心。有人有用于测试负载均衡器的测试套件吗?
更新
我们正在从一个后端移动到另一个后端,并且我们正在根据 url 重定向用户。
答案1
理想情况下,您应该在(生产并行)暂存环境中拥有 F5 BigIP。这样您就可以测试新配置、代码版本、功能等,而不会影响生产。
假设由于成本或其他限制而无法实现这一点,那么下一个最佳选择就是拥有第二套“QA”或“UAT”服务,这些服务配置为访问与生产相同的后端服务器,但只有一小部分用户以它为目标。
如果不了解您的配置,很难更具体。您能否提供一些关于您如何使用负载均衡器以及您计划进行哪些更改的详细信息?
更新:根据您的澄清,您似乎想要测试在两个后端服务器之间切换用户的能力,以及您是否根据用户访问的 URL 路由用户请求?(内容切换)。
如果您无法在生产环境中负担另一个负载均衡器,我建议您使用测试 URL 配置新服务,并将请求转发到该 URL,就像您当前在生产环境中所做的一样。一旦您确信此测试服务按生产环境运行,您就可以更改与测试 URL 关联的策略以转发到您的新后端。这应该可以验证您的 Big-IP 配置是否正确。
(抱歉缺少示例配置,我自己没有使用过 F5 负载均衡器,只使用过其他供应商的负载均衡器。)
答案2
答案3
其他负载均衡器提供与 F5 类似的功能,并且其供应商提供更多有用的测试和开发选项。
您可以获得 Zeus Traffic Manager 的开发许可证(完整功能)或 Citrix VPX 许可证(仅限标准版),两者的吞吐量均限制为 1 MBits(这对于大多数开发目的来说应该足够了),有效期为 1 年。
Zeus 将每年免费更新开发许可证(不知道 Citrix 会怎么做?)
Aaron——在任何情况下,在生产单元上测试虚拟服务器都不是一个好的选择!
答案4
拥有测试环境是第一个答案。
我建议使用任何 HTTP 场景注入工具来自动化测试。
接下来的问题是如何保持您的环境同步,我建议放弃从管理界面对生产环境进行手动设置。
以 DevOps 方式自动化 BigIP 设置的建议是:
由 F5 创建的 iApphttps://clouddocs.f5.com/api/iapps/
Terraform 资源https://www.terraform.io/docs/providers/bigip/index.html
设计您自己的 iApp
当然,从 iApp 创建的应用程序(无论是 F5 还是您自己的)都必须借助 Ansible 或 Terraform 进行部署。
在撰写本文时,Ansible 模块和 Terraform 资源都尚未涵盖所有 BigIP 配置实体。