คำถามติดแท็ก distributed-system

2
การทำงานพร้อมกันในแง่ดีต่อวัตถุหมายถึงความเป็นอนุกรมหรือไม่หากธุรกรรมนั้นจะไม่ขยายวัตถุหลายรายการ
รับระบบซึ่งให้: การควบคุมพร้อมกันในแง่ดีที่สุด / การกำหนดเวอร์ชันต่อวัตถุ (ใช้ CAS - ตรวจสอบและตั้งค่า) ธุรกรรมที่ไม่จำเป็นต้องมีการขยายเพิ่มเติมจากวัตถุเดียว การแยก Snapshot ระบบนี้ถือว่าเป็นอนุกรมหรือไม่ จากการแยก Snapshot ในการเขียนที่ผิดปกติธุรกรรมสองรายการ (T1 และ T2) พร้อมกันอ่านชุดข้อมูลที่ทับซ้อนกัน (เช่นค่า V1 และ V2) ทำการอัปเดตร่วมกัน (เช่นอัปเดต T1 V1, อัปเดต V2 V2) และในที่สุดก็กระทำพร้อมกัน การอัปเดตดำเนินการโดยผู้อื่น เป็นระบบที่ต่อเนื่องกันได้ความผิดปกติดังกล่าวจะเป็นไปไม่ได้เนื่องจาก T1 หรือ T2 จะต้องเกิดขึ้น "เป็นครั้งแรก" และจะเห็นได้จากอีกคนหนึ่ง ในทางตรงกันข้ามการแยกสแน๊ปช็อตอนุญาตให้เขียนความผิดปกติได้ เป็นตัวอย่างที่เป็นรูปธรรมลองนึกภาพ V1 และ V2 เป็นสองยอดดุลที่จัดขึ้นโดยบุคคลคนเดียว Phil ธนาคารจะอนุญาตให้ V1 หรือ V2 …

2
วิธีการเรียกใช้การย้ายฐานข้อมูลอย่างปลอดภัยด้วยอินสแตนซ์หลายแอป
เรามีแอปพลิเคชั่นที่ผสมผสานทั้งความรวดเร็ว (<1 วินาที) และการย้ายฐานข้อมูลที่ช้า (> 30 วินาที) ตอนนี้เรากำลังเรียกใช้การย้ายฐานข้อมูลเป็นส่วนหนึ่งของ CI แต่จากนั้นเครื่องมือ CI ของเราต้องรู้สตริงการเชื่อมต่อฐานข้อมูลทั้งหมดสำหรับแอปของเรา (ในหลาย ๆ สภาพแวดล้อม) ซึ่งไม่เหมาะ เราต้องการเปลี่ยนกระบวนการนี้เพื่อให้แอปพลิเคชันรันการย้ายฐานข้อมูลของตัวเองเมื่อเริ่มต้น นี่คือสถานการณ์: เรามีแอพพลิเคชั่นนี้หลายตัว - ประมาณ 5 ตัวในการผลิต มาเรียกพวกเขาnode1, ..., node5กัน แต่ละแอปเชื่อมต่อกับอินสแตนซ์ของ SQL Server เดียวและเราไม่ได้ใช้การปรับใช้แบบหมุนเวียน (แอพทั้งหมดจะถูกปรับใช้พร้อมกันเท่าที่ฉันรู้) ปัญหา: ว่าเรามีการโยกย้ายที่ใช้เวลานาน ในกรณีนี้node1เริ่มต้นจากนั้นเริ่มดำเนินการโยกย้าย ตอนนี้node4เริ่มและการโยกย้ายที่ใช้เวลานานยังไม่เสร็จดังนั้นจึงnode4เริ่มการโยกย้าย -> ความเสียหายของข้อมูลที่เป็นไปได้หรือไม่ คุณจะป้องกันปัญหานี้อย่างไรหรือเป็นปัญหาที่สำคัญพอที่จะกังวลได้อย่างไร ฉันกำลังคิดที่จะแก้ปัญหานี้ด้วยการล็อคแบบกระจาย AA (ใช้etcdหรืออะไรก็ได้ตามบรรทัดเหล่านั้น) โดยพื้นฐานแล้วแอพทั้งหมดพยายามที่จะได้รับการล็อคโดยมีเพียงหนึ่งในนั้นเท่านั้นที่ได้รับมันและเรียกใช้การย้ายข้อมูลจากนั้นปลดล็อค เมื่อแอปที่เหลือเริ่มต้นและเข้าสู่ส่วนที่สำคัญการโยกย้ายทั้งหมดจะถูกเรียกใช้แล้วสคริปต์การโยกย้ายก็จะออก อย่างไรก็ตามลำไส้ของฉันกำลังพูดว่า "นี่มันเกินจะต้องมีวิธีแก้ปัญหาที่ง่ายกว่า" ดังนั้นฉันจึงคิดว่าฉันจะขอให้ที่นี่เพื่อดูว่าใครมีความคิดที่ดีกว่านี้อีก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.