首页 > 解决方案 > 如何在运行时暂时失败/禁用 REST API?

问题描述

我正在开发一个主要提供 2 个 API 的 REST 服务:PUT 请求和 GET 请求。在灾难恢复期间,服务将处于无法接受新的 PUT 请求但仍能够为 GET 请求提供响应的状态。我正在寻找如何在运行时暂时禁用/失败传入的 PUT API 调用(通过返回 500 或 200 以外的任何值),同时服务正在积极进行灾难恢复。该服务在负载均衡器后面的一组主机上运行,​​并启用了自动缩放。需要在运行该服务的所有主机上临时禁用 PUT API 请求。

我有这篇关于在运行时更新配置的帖子:java update properties file run time,但看起来这需要手动更新每个主机上的属性文件,如果我们有大量主机运行,这可能不是最佳的服务。

想知道是否有其他方法可以实现这一目标。提前致谢!

标签: javarestpropertiesload-balancingapache-commons-config

解决方案


大多数情况下,负载平衡器放置在防火墙后面。如果您有权访问防火墙,则可以在开始灾难恢复之前设置任务,以便在防火墙中设置规则并阻止使用防火墙与目标服务或方法的任何连接。DR 完成后,设置删除规则并允许连接的任务。


推荐阅读