เรากำลังพัฒนาสองระบบที่เกี่ยวข้อง หนึ่งในนั้น (A) จะถูกติดตั้งบนเครื่องของลูกค้าของเรา องค์กรของฉันจะใช้ส่วนที่เหลือ (B)
แต่ละระบบมีฐานข้อมูลของตัวเอง (สัมพันธ์) และสกีมาของพวกเขาแตกต่างกัน อย่างไรก็ตามทั้งสองระบบจะต้องทำข้อมูลให้ตรงกัน นอกจากนี้การเปลี่ยนแปลงบางอย่างใน B จะต้องส่งออกไปยังระบบคลาส A ทั้งหมดและอื่น ๆ ไปยังการเปลี่ยนแปลงที่เฉพาะเจาะจง
ลูกค้าบางรายไม่มีการเชื่อมต่ออินเทอร์เน็ตดังนั้นในบางกรณีต้องทำข้อมูลให้ตรงกันผ่านการแลกเปลี่ยนไฟล์
ดังนั้นเราจึงวางแผนที่จะแก้ไขปัญหานี้ดังต่อไปนี้:
- แต่ละระบบรักษาการเปลี่ยนแปลงของฐานข้อมูล เรากำลังวางแผนที่จะนำไปใช้กับ MongoDB
- เมื่อระบบเริ่มต้นกระบวนการซิงโครไนซ์ระบบจะดึงการเปลี่ยนแปลงที่ทำทั้งหมดจากบันทึก หากระบบเป็น B การเปลี่ยนแปลงที่ดึงมาขึ้นอยู่กับปลายทาง จากนั้นระบบจะจัดลำดับพวกเขาในรูปแบบ XML และในที่สุดก็ส่งพวกเขา (ผ่านไฟล์หรือเครือข่าย)
- เมื่อปลายทางอื่นได้รับเซ็ตการแก้ไขมันจะยกเลิกการตั้งค่า จากนั้นระบบจะทำการแปลงข้อมูลบางอย่างซึ่งจำเป็นและในที่สุดก็บันทึกการเปลี่ยนแปลง ในขั้นตอนนี้ถ้าจำเป็นระบบจะต้องแก้ไขข้อขัดแย้งที่อาจมีอยู่
- ขั้นสุดท้ายระบบรับจะส่งการเปลี่ยนแปลง (และผลิตภัณฑ์อื่น ๆ ของการแก้ไขข้อขัดแย้ง)
วิธีนี้เป็นไปได้ปรับขนาดได้และสง่างามหรือไม่? คุณต้องการเปลี่ยนแปลงหรือเพิ่มเติมสิ่งใด