HAProxy ตอบสนองกับ NOSRV ขณะที่แบ็กเอนด์ขึ้น


11

ฉันมีสถานการณ์แปลก ๆ ที่คำขอไปยัง HAProxy ของฉันกลับมาพร้อมกับ 503 บันทึก HAProxy แสดงให้เห็นว่ามันกลับมาเป็นข้อผิดพลาด NOSRV:

Mar 26 19:47:01 localhost haproxy[23910]: 10.0.0.30:34261 
  [26/Mar/2013:19:46:48.579] fe v2/<NOSRV> 12801/-1/-1/-1/12801 503 
  212 - - SC-- 0/0/0/0/0 0/0 "GET /path/v2/ HTTP/1.1"

ในช่วงเวลานี้เซิร์ฟเวอร์แบ็คเอนด์ได้รับการยืนยันและได้รับปริมาณข้อมูลจากตัวโหลดบาลานซ์ภายใน สิ่งนี้เกิดขึ้นเองโดยไม่มีการกำหนดค่าหรือการเปลี่ยนแปลงอื่น ๆ ใน HAProxy การรีสตาร์ท HAProxy แก้ไขสิ่งนี้

ไม่มีใครรู้ว่านี่เป็นปัญหาที่รู้กันหรือไม่? ขอบคุณสำหรับความช่วยเหลือ / ข้อมูลเชิงลึกของคุณ

ขอบคุณ

การกำหนดค่าของฉันมีลักษณะเช่นนี้:

global
    maxconn     1000 # Total Max Connections. This is dependent on ulimit
    daemon
    nbproc      1 # Number of processing cores. Dual Dual-core Opteron is 4 cores for example.
    log         127.0.0.1 local1
defaults
        mode        http
        clitimeout  60000
        timeout server 300000
        contimeout  4000
        option      httpclose # Disable Keepalive

backend v2
        server v2Elb internal-xxx.us-west-1.elb.amazonaws.com:80 weight 1 maxconn 512 check
backend v2e
        server v2eElb 10.0.1.28:80 weight 1 maxconn 512 check
frontend fe
        bind :80
        option httpchk
        option forwardfor # This sets X-Forwarded-For
        option httplog
        log global
        acl v2e path_beg /path/v2e
        acl v2 path_beg /path/v2
        redirect location https://my.domain.com/path/v2/ if !v2e !v2
        use_backend v2e if v2e
        use_backend v2 if v2

ฉันมีปัญหาเดียวกัน คุณสามารถแก้ไขปัญหานี้ได้หรือเพิ่งเริ่มบริการใหม่ทุกครั้ง
Atifm

คุณสามารถแก้ไขปัญหานี้ได้หรือไม่ ปัญหาเดียวกันถึงแม้จะมีการแก้ปัญหาโฮสต์แบบไดนามิก
Paulius Dragunas

ขออภัยผู้คน ฉันย้ายจากนี้และยังไม่ได้ติดตามเพื่อลองและแก้ไข
ราชา

คำตอบ:


2

ฉันสังเกตเห็นจากการกำหนดค่าที่กำหนดว่าคุณกำลังทำงานอยู่ด้านหน้าของตัวโหลดบาลานซ์ AWS ELB v2และฉันเดาว่าจะv2eชี้ไปยังเซิร์ฟเวอร์แอปโดยตรง (ซึ่งจะอยู่หลัง ELB)

ถ้าเป็นเช่นนี้จะแนะนำให้ผมว่าพร้อมกับข้อผิดพลาด 503 เชื่อมต่อระหว่างอินสแตนซ์ HAProxy ของคุณและ ELB จะตีหมดเวลาทั้ง 4 วินาทีต่อcontimeoutหมดเวลาหรือ 300 สองserverหมดเวลา มีโอกาสมากขึ้นคือ 4 วินาทีcontimeoutและข้อผิดพลาดเป็นระยะ ๆ เพิ่มเติมยืนยันว่ามันน่าจะเป็นปัญหาเครือข่ายระหว่าง HAProxy และ ELB

ฉันจะพยายามเพิ่มcontimeoutค่ารวมทั้งตรวจสอบเวลาแฝงของ HAProxy และ ELB

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.