โมดูลสปริงคลาวด์ Zuul นั้นมีการพึ่งพา Hystrix และ Ribbon เมื่อเราใช้ Zuul เพื่อกำหนดค่าเส้นทางผ่านการรวมกันของเส้นทางและ ServiceID เราสามารถปรับกลไกการหมดเวลาต่าง ๆ ของคำขอการกำหนดเส้นทางผ่านการกำหนดค่าของ Hystrix และ Ribbon
ตัวอย่างการกำหนดค่าริบบิ้น 1
กำหนดค่าเวลาการหมดเวลาการเชื่อมต่อ 1 วินาทีเวลาประมวลผลคำขอ 2 วินาทีเซิร์ฟเวอร์บริการ Unified พยายามเชื่อมต่ออีกครั้งสลับเซิร์ฟเวอร์เพื่อเชื่อมต่ออีกครั้งหนึ่ง
Ribbon: ConnectTimeout: 1000 ReadTimeOut: 2000 Maxautoretries: 1 MaxautoretriesNextServer: 1
2 ตัวอย่างของการกำหนดค่า Hystirx
Hystrix: คำสั่ง: ค่าเริ่มต้น: การดำเนินการ: การแยก: เธรด: TimeOutinMilliseconds: 60000
ควรสังเกตที่นี่ว่าเวลาการกำหนดค่าของ Hystrix ควรจะมากกว่าผลรวมของเวลาลองใหม่ทั้งหมดของริบบิ้น ฉันกำหนดค่า 2 ลองใหม่ข้างต้นรวมถึงคำขอแรกและสามครั้งคือ 6 วินาที
อ้างคำอธิบายจากอาจารย์อย่างเป็นทางการ
เมื่อใช้คำสั่ง hystrix ที่ห่อไคลเอนต์ริบบิ้นที่คุณต้องการให้แน่ใจว่าการหมดเวลา hystrix ของคุณได้รับการกำหนดค่าให้ยาวกว่าการหมดเวลาริบบิ้นที่กำหนดค่ารวมถึงศักยภาพใด ๆ
ลองใหม่ที่อาจทำ ตัวอย่างเช่นหากหมดเวลาการเชื่อมต่อริบบิ้นของคุณเป็นหนึ่งวินาทีและ
ไคลเอนต์ริบบิ้นอาจลองคำขอสามครั้งมากกว่าการหมดเวลา Hystrix ของคุณควร
มากกว่าสามวินาทีเล็กน้อย
3 การกำหนดค่าการลองใหม่ของ Zuul:
Zuul: retryable: true
ให้ความสนใจเป็นพิเศษกับการกำหนดค่า retry ของ Zuul ซึ่งต้องลองอีกครั้งถึงฤดูใบไม้ผลิมิฉะนั้นจะไม่มีประโยชน์ในการกำหนดค่า
<การพึ่งพา> <roupId> org.springframework.retry </groupId> <ratifactId> Spring-Retry </artifactid>
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น