簡體   English   中英

Nginx 負載均衡 Maxscale 到故障轉移

[英]Nginx load balancing Maxscale to failover

我有一個簡單的 stream 塊到 stream MySQL ZB136EF5F6A01D816991FE3CF7A6AC7 流量到 Maxscale66 第二個實例僅充當故障轉移,例如:

stream {    
    upstream maxscale {
        zone upstream_maxscale 64k;
        server 10.1.0.11:3307;
        server 10.1.0.12:3307 backup;
    }

    server {
        listen 3307;
        proxy_pass maxscale;
    }
}

當連接數較低(<30)時,一切正常。 但是當連接很高時(>40,如果我們可以說 40 個連接很高......),nginx 錯誤日志不斷抱怨我不知道如何調試的東西。

recv() 在代理和從上游讀取時失敗(104:對等方重置連接),客戶端:10.1.0.16,服務器:10.1.0.15:3307,上游:“10.1.0.11:3307”,來自/到客戶端的字節數:15738 /64316,來自/到上游的字節:64316/15738

我嘗試過reuseportworker_connectionsso_keepalive等選項,但沒有機會。

https://nginx.org/en/docs/stream/ngx_stream_core_module.html

https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/會不會是Maxscale方面的問題?

這里是 Maxscale 2.4 監聽器:

# Listener

[listener-rw]
type=listener
service=readwritesplit
protocol=MariaDBClient
address=10.1.0.11
port=3307
ssl=required
ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
ssl_cert=/var/lib/maxscale/ssl/server.pem
ssl_key=/var/lib/maxscale/ssl/server.key
ssl_version=MAX

# Service

[readwritesplit]
type=service
router=readwritesplit
servers=sql1,sql2,sql3
user=maxscale
password=324F74A347291B3BE79956AD5F4BB2FAD65E1F9052A976722917701742729400
enable_root_user=1
max_sescmd_history=150
max_slave_connections=100%
lazy_connect=true
slave_selection_criteria=LEAST_CURRENT_OPERATIONS
optimistic_trx=true
connection_keepalive=300
master_failure_mode=fail_on_write

https://nginx.org/en/docs/stream/ngx_stream_core_module.html

https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/

MaxScale 日志(在/var/log/maxscale/maxscale.log中)很可能包含有關您收到此類錯誤的原因的答案,或者至少可以幫助您確定問題可能是什么。

如果您無法僅從日志中找出原因,我建議您打開MaxScale 項目下的 MariaDB Jira的錯誤報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM