主要有两部分配置:upstream server 和 proxy_pass

upstream backend{
  server 192.168.61.1:9080 max_fails=2 fail_timeout=10s weight=1;
  server 192.168.61.1:9090 max_fails=2
fail_timeout=10s weight=1;
}

通过上游服务器的配置max_fails和fail_timeout来指定每个上游服务器,当fail_timeout时间内失败了max_fails的请求,则认为该上游服务器不可用,然后摘掉该上游服务器,在超过fail_timeout时间后,重新将该服务器加入到可用服务器列表当中进行重试

location /test {
  proxy_connect_timeout 5s;
  proxy_read_timeout 5s;
  proxy_send_timeout 5s;

  proxy_next_upstream error timeout;
  proxy_next_upstream_timeout 10s;
  proxy_next_upstream_tries 2;
  proxy_pass http://backend;
  add_header upstream_addr $upstream_addr;

}

然后进行proxy_next_upstream相关配置,当遇到配置的错误时,会重试下服务器。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐