เราจะกำหนดค่าในโหลดบาลานเซอร์เช่น HA Proxy เพื่อแยกการอ่านได้อย่างไร
การดำเนินการจากการเขียนและส่งไปยังโหนด 2 และ 3 ดำเนินการอ่านเท่านั้น?
ไม่เลย. ไม่มีทางที่โหลดบาลานเซอร์จะรู้ว่าเกิดอะไรขึ้นในการเชื่อมต่อ SQL Server และเข้าใจอย่างมีเหตุผลว่าอะไรทำได้และอะไรไม่ถือเป็นการอ่านอย่างเดียวหรือเขียนอย่างเดียวหรือผสม (ซึ่งเป็นการเขียน) โดยเฉพาะอย่างยิ่งไม่ใช่โหลด ผู้ถ่วงดุลไม่สามารถมองไปข้างหน้าได้ทันเวลา ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ sql เริ่มธุรกรรม ทำการดำเนินการอ่าน แล้วเริ่มเขียน - คุณจะรู้ได้อย่างไรว่าฉันตั้งใจจะเขียนเมื่อตัดสินใจเกี่ยวกับโหลดบาลานซ์ ไม่มีวิธีใดที่จะจัดการกับสิ่งนี้ได้โดยไม่มองไปข้างหน้าอย่างทันท่วงที
วิธีดำเนินการนี้ตามปกติคือการมีการเชื่อมต่อที่แตกต่างกันในระดับแอปพลิเคชันและให้แอปพลิเคชันตัดสินใจว่าจะใช้อันไหน ท้ายที่สุดแล้วใคร ๆ ก็คิดว่าโปรแกรมเมอร์นั้นฉลาดพอที่จะรู้ว่าพวกเขาตั้งใจที่จะเชื่อมต่อเพื่อการอ่านเท่านั้นหรืออาจเขียนบนการเชื่อมต่อ / ธุรกรรมเดียวกันในภายหลัง