ความแตกต่างระหว่างความสัมพันธ์ของเซสชันและเซสชันเหนียว?


126

อะไรคือความแตกต่างระหว่างความสัมพันธ์ของเซสชันและเซสชันแบบติดหนึบในบริบทของเซิร์ฟเวอร์การโหลดบาลานซ์

คำตอบ:


82

ฉันเคยเห็นคำศัพท์เหล่านี้ใช้แทนกันได้ แต่มีหลายวิธีในการนำไปใช้:

  1. ส่งคุกกี้ในการตอบกลับครั้งแรกแล้วมองหาคุกกี้ที่ตามมา คุกกี้ระบุว่าจะส่งไปยังเซิร์ฟเวอร์จริงใด
    แย่มากถ้าคุณต้องรองรับเบราว์เซอร์ที่ไม่มีคุกกี้
  2. พาร์ติชันตามที่อยู่ IP ของผู้ร้องขอ
    ไม่ดีถ้ามันไม่คงที่หรือถ้าหลายคนเข้ามาผ่านพร็อกซีเดียวกัน
  3. หากคุณพิสูจน์ตัวตนผู้ใช้ให้แบ่งพาร์ติชันตามชื่อผู้ใช้ (ต้องเป็นโหมดการพิสูจน์ตัวตนที่รองรับ HTTP จึงจะทำสิ่งนี้ได้)
  4. ไม่ต้องใช้รัฐ
    ให้ไคลเอนต์เข้าสู่เซิร์ฟเวอร์ใดก็ได้ (ส่งสถานะไปยังไคลเอนต์และให้พวกเขาส่งกลับ)
    นี่ไม่ใช่เซสชันที่เหนียว แต่เป็นวิธีที่หลีกเลี่ยงไม่ได้ที่จะต้องทำ

ฉันสงสัยว่า Sticky อาจหมายถึงวิธีคุกกี้และความสัมพันธ์นั้นอาจอ้างถึง # 2 และ # 3 ในบางบริบท แต่นั่นไม่ใช่วิธีที่ฉันเคยเห็น (หรือใช้เอง)


6
หากคำขอถูกผูกไว้กับเซิร์ฟเวอร์จริงจะเกิดอะไรขึ้นหากเซิร์ฟเวอร์นั้นล้มเหลว มีกลยุทธ์ในการใช้คุกกี้เพื่อบรรจุเซิร์ฟเวอร์ที่ล้มเหลวหรือไม่?
raffian

2
หากเซิร์ฟเวอร์ล้มเหลวแอปพลิเคชันจะล้มเหลวคุณอาจต้องเข้าสู่ระบบอีกครั้ง บางทีคุณอาจสูญเสียข้อมูล โดยปกติแล้วตัวโหลดบาลานเซอร์จะเลือกเซิร์ฟเวอร์อื่นและคุณดำเนินการต่อ แต่สถานะบางอย่างหายไป หากสิ่งนี้ไม่สามารถยอมรับได้คุณจะต้องนำสถานะไปยังฐานข้อมูลหรือเซิร์ฟเวอร์อื่น ๆ โดยเร็วที่สุดหรือมีกลยุทธ์ไร้สัญชาติ
Lou Franco

FWIW Heroku หมายถึงพวกเขาในทางตรงกันข้าม Session Afifinity ใช้คุกกี้และไม่รองรับการใช้งานแบบเหนียว devcenter.heroku.com/articles/session-affinity
RandallB

39

ดังที่ฉันเคยได้ยินคำศัพท์ที่ใช้ในสถานการณ์การจัดสรรภาระงานอยู่เสมอคำเหล่านี้สามารถใช้แทนกันได้ ทั้งสองอย่างหมายความว่าเมื่อเริ่มเซสชันเซิร์ฟเวอร์เดียวกันจะตอบสนองคำขอทั้งหมดสำหรับเซสชันนั้น


21

เซสชัน Sticky หมายความว่าเมื่อมีคำขอเข้ามาในไซต์จากไคลเอ็นต์คำขอเพิ่มเติมทั้งหมดจะไปที่คำขอไคลเอ็นต์เริ่มต้นของเซิร์ฟเวอร์เดียวกันที่เข้าถึง ฉันเชื่อว่าความสัมพันธ์ของเซสชันเป็นคำพ้องความหมายของเซสชันที่มีความสามารถ


13

พวกเขาก็เหมือน ๆ กัน.

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


11

เซสชั่น Sticky หมายถึงการกำหนดเส้นทางการร้องขอของเซสชันเฉพาะไปยังเครื่องจริงเครื่องเดียวกับที่รับคำขอแรกสำหรับเซสชันนั้น


3

บทความนี้ชี้แจงคำถามสำหรับฉันและกล่าวถึงการคงอยู่ของตัวจัดสรรภาระงานประเภทอื่น ๆ

ความคิดของเดฟ: ความคงอยู่ของตัวจัดสรรภาระงาน (เซสชันที่เหนียว)


6
ดูเหมือนจะไม่สามารถใช้งานได้อีกต่อไป แต่มีสำเนาในเครื่อง Wayback
Martin McNulty

12
นี่คือเหตุผลที่คุณไม่เพียงแค่โพสต์ลิงก์โดยไม่มีคำอธิบาย
Juan Mendes

พบว่าเนื้อหาของลิงก์ด้านบน (ไม่มีให้บริการแล้ว) ถูกย้ายไปที่archive.li/SG4fAโดยทั่วไปจะแสดงรายการประเภทการคงอยู่ต่างๆที่รองรับโดยตัวโหลดบาลานซ์ F5
aveek

0

พวกเขาเป็นคำพ้องความหมาย ไม่มีความแตกต่างเลย

Sticky Session / Session Affinity:

Affinity / Stickiness / Contact ระหว่างเซสชันของผู้ใช้และเซิร์ฟเวอร์ที่ส่งคำขอของผู้ใช้จะยังคงอยู่

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