Score:0

บางครั้ง HAProxy ที่มีคำขอเดียวกันก็ตอบสนองด้วย NOSRV ในขณะที่แบ็กเอนด์ไม่ทำงาน

ธง tr

ฉันส่งคำขอเดียวกัน (POST /user/oauth) ไปยัง haproxy แต่บางครั้งฉันได้รับ 503 การส่งคำขอโดยตรงไปยังแบ็กเอนด์จะใช้งานได้เสมอ

นี่คือบันทึก:

  1. local_server~ แอป/s2 0/0/0/100/100 200 813 - - --VN 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  2. local_server~ app/s1 0/0/1/107/108 200 820 - - --NI 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  3. local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  4. local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  5. local_server~ แอป/s2 0/0/1/106/107 200 831 - - --NI 2/2/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  6. local_server~ แอป/s1 0/0/1/3/6206 101 337 - - --NI 3/3/1/1/0 0/0 "รับ / HTTP/1.1"
  7. local_server~ แอป/s1 0/0/1/83/84 200 258 - - --VN 2/2/0/0/0 0/0 "POST /transaction/concludeTransaction HTTP/1.1"
  8. local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
  9. local_server~ แอป/s2 0/0/1/107/108 200 831 - - --NI 1/1/0/0/0 0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"

อย่างที่คุณเห็น POST /user/oauth บางครั้งไปที่ s1 บางครั้งไปที่ s2 และบางครั้งก็ไปที่ NOSRV

บางครั้งก็ผ่าน 10 ครั้งติดต่อกันและบางครั้งก็ล้มเหลว 10 ครั้งติดต่อกัน

นี่คือการกำหนดค่าของฉัน:

ค่าเริ่มต้น
เข้าสู่ระบบทั่วโลก
โหมด http
ตัวเลือก httplog
ตัวเลือก dontlognull
หมดเวลาเชื่อมต่อ 10,000
ลูกค้าหมดเวลา 50,000
หมดเวลาเซิร์ฟเวอร์ 50,000
ลองใหม่ 3
ไฟล์ข้อผิดพลาด 400 /etc/haproxy/errors/400.http
ไฟล์ข้อผิดพลาด 403 /etc/haproxy/errors/403.http
ไฟล์ข้อผิดพลาด 408 /etc/haproxy/errors/408.http
ไฟล์ข้อผิดพลาด 500 /etc/haproxy/errors/500.http
ไฟล์ข้อผิดพลาด 502 /etc/haproxy/errors/502.http
ไฟล์ข้อผิดพลาด 503 /etc/haproxy/errors/503.http
ไฟล์ข้อผิดพลาด 504 /etc/haproxy/errors/504.http

ส่วนหน้า local_server
ผูก *:8080 ssl crt /etc/letsencrypt/live/xxx/sslcert.pem
โหมด http
แอป default_backend

แอปแบ็กเอนด์
วงเวียนสมดุล
คุกกี้ SERVERID แทรก nocache ทางอ้อม
http-ส่งชื่อส่วนหัวโฮสต์
เซิร์ฟเวอร์ s1 172.26.13.134:3000 ตรวจสอบคุกกี้ s1
เซิร์ฟเวอร์ s2 172.26.13.134:3000 ตรวจสอบคุกกี้ s2
http-request add-header X-Server %b

แก้ไข:

ฉันเปลี่ยนเส้นทางคำขอไปยังเซิร์ฟเวอร์ python ด่วนที่ทำงานบนโลคัลโฮสต์และปัญหายังคงมีอยู่ ดังนั้นฉันจึงแก้ไขไฟล์ config haproxy ให้มีเพียงเซิร์ฟเวอร์ s1 127.0.0.1:8086 ตรวจสอบคุกกี้ s1

และเรียกใช้สคริปต์ไพ ธ อน: python3 -m http.server 8086 --bind 127.0.0.1&

เมื่อฉันตีจากบุรุษไปรษณีย์ฉันได้รับความสำเร็จ 3 ครั้งติดต่อกันมากกว่า 503

richv avatar
in flag
อาจเป็นความคิดที่ดีที่จะเพิ่มการตรวจสอบความสมบูรณ์ให้กับโหนดของคุณ https://www.haproxy.com/blog/how-to-enable-health-checks-in-haproxy/ ... คุณสามารถเปรียบเทียบการประทับเวลา NOSERV เหล่านั้นกับโหนดลง เวลาและดูว่าทั้งสองโหนดหยุดทำงานเมื่อคุณได้รับการตอบกลับจาก NOSERV หรือไม่
tr flag
มันมี "ตรวจสอบ" อยู่แล้วและเรียกโดยตรงว่าโหนดใช้งานได้เสมอและโหนดไม่เคยหยุดทำงาน เมื่อฉันโทรหา api จากบุรุษไปรษณีย์ ฉันจะได้รับ 503 แบบสุ่มเหล่านี้
Score:0
ธง tr

ฉันเชื่อว่าปัญหาอยู่ในเวอร์ชัน ฉันอ่านเจอว่าเวอร์ชัน 1.9 ทำงานได้ดีกว่าเวอร์ชัน 2* ฉันดาวน์โหลดซอร์สโค้ดและคอมไพล์ด้วยตัวเลือกต่อไปนี้ ทำให้ TARGET=linux-glibc USE_PCRE2=1 USE_PCRE2_JIT=1 USE_OPENSSL=1 USE_ZLIB=1 USE_REGPARAM=1 USE_SYSTEMD=1 USE_THREAD=1

อย่างที่คุณเห็นฉันละเว้นตัวเลือก lua5 โดยเจตนาซึ่งเป็นข้อแตกต่างเพียงอย่างเดียวกับตัวเลือกที่คุณได้รับจาก apt-get install

ไบเนย์ที่ได้นั้นทำงานได้ดีมากโดยไม่มีปัญหาใดๆ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา