การกำหนดค่าปกติของ haproxy คือ:
ค่าเริ่มต้น
เข้าสู่ระบบทั่วโลก
โหมด http
ตัวเลือก tcplog
ตัวเลือก dontlognull
หมดเวลาเชื่อมต่อ 5,000
ลูกค้าหมดเวลา 50,000
หมดเวลาเซิร์ฟเวอร์ 50,000
##### MYSQL-CL #####
ฟัง MYSQL-CL
ผูก 10.17.1.65:3306
โหมด tcp
ตัวเลือก mysql-check user haproxy_check
วงเวียนสมดุล
ตรวจสอบเซิร์ฟเวอร์ MYSQL-01 10.17.1.66:3306
เซิร์ฟเวอร์ MYSQL-02 10.17.1.67:3306 ตรวจสอบการสำรองข้อมูล
หมดเวลาเซิร์ฟเวอร์ 20,000
ลูกค้าหมดเวลา 150,000
หมดเวลาเชื่อมต่อ 40000
และการกำหนดค่านี้ทำงานได้อย่างถูกต้อง! ไม่มีปัญหาอย่างสมบูรณ์
แต่ฉันต้องการกำหนดค่าอย่างถูกต้องโดยใช้ส่วนหน้าและส่วนหลังดังนั้นฉันจึงสร้างการกำหนดค่าดังนี้:
ค่าเริ่มต้น
เข้าสู่ระบบทั่วโลก
โหมด http
ตัวเลือก tcplog
ตัวเลือก dontlognull
หมดเวลาเชื่อมต่อ 5,000
ลูกค้าหมดเวลา 50,000
หมดเวลาเซิร์ฟเวอร์ 50,000
ส่วนหน้าของ MYSQL-CL
ผูก 10.17.1.65:3306
โหมด tcp
ลูกค้าหมดเวลา 150,000
แม็กซ์คอน1000
default_backend MYSQL-CL
แบ็กเอนด์ MYSQL-CL
เต็มคอน1000
วงเวียนสมดุล
ตัวเลือก mysql-check user haproxy_check
server MYSQL-01 10.17.1.66:3306 เช็คอินเตอร์ 4000 ตก 3 maxconn 1000
server MYSQL-02 10.17.1.67:3306 เช็คแบ็คอัพ อินเตอร์ 4000 ตก 3 maxconn 1000
หมดเวลาเซิร์ฟเวอร์ 20,000
หมดเวลาเชื่อมต่อ 40000
แต่เมื่อฉันใช้การกำหนดค่านี้ ฉันจะได้รับ:
2021-10-18 7:10:11 17039399 [คำเตือน] ยกเลิกการเชื่อมต่อ 17039399 ถึง db: 'wordpress' ผู้ใช้: 'wordpress' โฮสต์: 'haproxy01' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
ใครรู้ว่ามีอะไรผิดปกติ? การหมดเวลาดูโอเค นี่ไม่ใช่ปัญหาของ MariaDB เพราะทำงานกับ config เก่า ดังนั้นนี่จึงเป็นสิ่งที่ผิดปกติกับ haproxy config แต่ฉันไม่รู้ว่ามีอะไรผิดปกติ....
ฉันอ่านความคิดเห็นมากมาย แต่มีคนพูดเกี่ยวกับการหมดเวลาหรือปัญหา DB ... แต่ดูเหมือนว่านี่จะเป็นอย่างอื่น