4
ความสัมพันธ์แบบกลุ่มต่อกลุ่มใน microservices
ฉันมีไมโครไซต์สองรายการ เราจะเรียกพวกเขาและAB ฐานข้อมูลภายใต้ microservice Aมีตารางต่อไปนี้: A |-- users ฐานข้อมูลภายใต้ microservice Bมีตารางต่อไปนี้: B |-- trackers ข้อกำหนดระบุว่าusersและtrackersมีความสัมพันธ์แบบกลุ่มต่อกลุ่ม ฉันไม่แน่ใจว่าจะจัดการสิ่งนี้ภายในสถาปัตยกรรม microservices อย่างไร ฉันเห็นการทำงานนี้หนึ่งในสามวิธี: user_trackersตารางจะถูกเพิ่ม AMICROSERVICE นี้ทำหน้าที่คล้ายกับตารางเข้าร่วมประกอบด้วย "คีย์ต่างประเทศ" เพื่อและuserstrackers ownersตารางจะถูกเพิ่ม BMICROSERVICE ตารางนี้ทำหน้าที่คล้ายกับตารางเข้าร่วม polymorphic นี่จะทำให้บริการใด ๆ สร้างการเชื่อมโยงกับตัวติดตาม สิ่งนี้อาจมีลักษณะเช่นนี้: B |-- trackers |-- owners |-- owner_id |-- owner_type |-- tracker_id เก็บบันทึกสำหรับusersและtrackersในแต่ละบริการไมโคร ทำให้พวกเขาซิงค์กับระบบ pubsub บางประเภท เดิมฉันจะไปกับตัวเลือก 2 เพราะฉันชอบที่มันรักษาขอบเขตการทำธุรกรรม …