我有一个系统需要向外部系统发送请求,只要用户在我的系统上进行搜索。客户端服务器系统中退避机制的模式
如果外部系统关闭或需要非常长的时间来回答,我希望我的系统“退后”一段时间。与其试图向外部系统发出更多请求,我只想让我的系统用户立即知道我们目前不会处理他们的请求。
这会为用户带来更好的体验(不必等待超时),我的系统中的资源占用更少(线程不会忙于等待外部系统没有响应或超时)以及它会省掉外部系统。 (在可能已经处于负载状态的情况下)
经过一段时间,或者当我的系统发现外部系统再次响应时,我想再次恢复正常行为。
是否有任何模式或标准的方式来做这种事情?具体来说就是跟踪超时/超时请求的机制,以及什么时候我们应该再次尝试的控制机制。