小编vai*_*hav的帖子

Haproxy 优雅重载

我正在寻找一种优雅地重新加载 haproxy 的解决方案。我有一个正在运行的 nginx 服务器,它将请求传递给 Haproxy,有时我会重新加载 Haproxy 配置。但我观察到在重新加载时所有现有连接都被切断,haproxy 后端队列显示 0 个请求(从 haproxy 的套接字统计数据中获取)。

我正在使用有关该问题的几篇博客文章和 haproxy 文档中提到的方法:

重新加载:

haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -sf (</var/run/haproxy.pid)
Run Code Online (Sandbox Code Playgroud)

开始 :

haproxy -D  -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid 
Run Code Online (Sandbox Code Playgroud)

如果有人可以提出任何解决方案,我们将不胜感激。下面是我的 haproxy 配置文件

global
  maxconn 64000
  ulimit-n 200000
  log             127.0.0.1       local0
  log             127.0.0.1       local1 notice
  spread-checks 5
  stats socket /etc/haproxy/stats

defaults
  log global
  mode http
  balance roundrobin
  maxconn 64000
  option abortonclose
  option httpclose
  retries 3
  option redispatch
  timeout client 30000
  timeout connect 30000
  timeout server 30000
  stats …
Run Code Online (Sandbox Code Playgroud)

load-balancing haproxy

5
推荐指数
1
解决办法
6890
查看次数

Nginx 请求重试(Nginx - Haproxy 组合)

我想问一下 Nginx 请求重试的问题。我在后端运行一个 Nginx,然后将请求发送到 HaProxy,然后 HaProxy 将其传递到 Web 服务器并处理请求。我正在动态重新加载我的 Haproxy 配置以提供弹性。问题是当我重新加载 Haproxy 时请求被丢弃。所以我想要一个可以从 Nginx 重试的解决方案。我查看了http模块中的proxy_connect_timeout、proxy_next_upstream以及服务器模块中的max_fails和fail_timeout。我最初在上游连接中只有 1 个服务器,所以我现在只增加了两次,并且更少的请求被丢弃(仅当)在上游中说同一个服务器两次,如果我有相同的服务器 3-4 倍,则丢弃增加)。

所以,首先我现在想要的是,当请求无法建立从 Nginx 到 Haproxy 的连接时,因此在重新加载时,连接似乎被视为错误,并且请求会立即被丢弃。

那么我怎样才能指定失败后我想重试从 Nginx 到上游的请求的时间,或者指定 Nginx 将其视为失败请求之前的时间。

(我尝试增加 proxy_connect_timeout - 没有帮助,mail_retires,fail_timeout 并且还放置了相同的上游服务器两次(到目前为止给出了最好的结果)

Nginx 配置文件

上游 gae_sleep {

server 128.111.55.219:10000;
Run Code Online (Sandbox Code Playgroud)

}

服务器 {

listen 8080;
server_name 128.111.55.219;
root /var/apps/sleep/app;
# Uncomment these lines to enable logging, and comment out the following two
#access_log  /var/log/nginx/sleep.access.log upstream;
error_log  /var/log/nginx/sleep.error.log;
access_log off;
#error_log /dev/null crit;

rewrite_log off;
error_page 404 = …
Run Code Online (Sandbox Code Playgroud)

nginx haproxy

5
推荐指数
1
解决办法
7562
查看次数

标签 统计

haproxy ×2

load-balancing ×1

nginx ×1