Score:1

Nginx - การคงอยู่ของเซสชันบนอินสแตนซ์ Nginx ที่ถูกล่ามโซ่สองตัว

ธง in

ฉันมีกรณีการใช้งานที่พิเศษมาก - และฉันสงสัยว่าไม่มีวิธีแก้ปัญหาที่ดีกว่านี้แล้วหรือ

กรณีการใช้งาน: ผู้ใช้หลายคนควรสามารถเข้าถึงหนึ่งในอินสแตนซ์เป้าหมายประมาณ 1,000 รายการ (C1 ถึง C1000) ที่มาจากอินสแตนซ์ Nginx (A) ในเวลาเดียวกัน น่าเสียดายที่แต่ละอินสแตนซ์เป้าหมาย 100 รายการต้องอยู่หลังอินสแตนซ์ Nginx แยกต่างหาก (B1 ถึง B10) เป็นพร็อกซีย้อนกลับ

ปัญหา: หากผู้ใช้หลายคนกระโดดพร้อมกันจากไคลเอ็นต์ที่เกี่ยวข้องไปยัง A และจากนั้นไปยังอินสแตนซ์ B Nginx ตัวใดตัวหนึ่ง และจากนั้นไปยังหนึ่งในอินสแตนซ์เป้าหมาย C พื้นฐาน คำถามก็เกิดขึ้นว่าจะตรวจสอบความสอดคล้องของเซสชันของแต่ละเซสชันได้อย่างไร . นอกจากนี้ อินสแตนซ์เป้าหมาย C ต้องสามารถตั้งค่าเซสชันคุกกี้บนไคลเอ็นต์ที่เกี่ยวข้องซึ่งมาที่อินสแตนซ์เป้าหมาย C นี้ผ่านอินสแตนซ์ A-Nginx จากที่นั่นไปยังอินสแตนซ์ B-Nginx ที่เกี่ยวข้อง

ทางออกของฉัน: ผู้ใช้แต่ละคนที่โทรหา A จะได้รับพอร์ตแยกต่างหาก การเชื่อมต่อระหว่างอินสแตนซ์ A และ B แต่ละรายการทำงานผ่านพอร์ตที่แยกกัน เช่น ตั้งแต่ A ถึง B1 10000, A ถึง B2 11000 เป็นต้น A ถึง B10 20000 การเชื่อมต่อจากอินสแตนซ์ B ไปยังอินสแตนซ์เป้าหมาย C จะได้รับการบำรุงรักษาบนพอร์ตเฉพาะเช่นกัน เช่น การเชื่อมต่อ B1 ถึง C0001 บนพอร์ต 10001 การเชื่อมต่อ B1 ถึง C0002 บนพอร์ต 10002 เป็นต้น

ฉันเกลียดโครงสร้างนี้ แต่ใช้งานได้ คำถามคือ - ฉันพลาดอะไรไป ฉันไม่สามารถจินตนาการได้ว่าไม่มีวิธีที่หรูหรากว่านี้อีกแล้ว

ใครบ้างมีความคิดที่ดีในการแก้ปัญหาด้วยวิธีที่หรูหรากว่านี้? อาจจะด้วยคุกกี้เซสชั่น?

ขอแสดงความนับถือ, ง.

โพสต์คำตอบ

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