আমার কাছে বর্তমানে দুটি মাইক্রোসার্ভিস রয়েছে। আমরা তাদের কল করব A
এবং B
।
মাইক্রোসার্চিসের অধীনে থাকা ডাটাবেসে A
নিম্নলিখিত সারণি রয়েছে:
A
|-- users
মাইক্রোসার্চিসের অধীনে থাকা ডাটাবেসে B
নিম্নলিখিত সারণি রয়েছে:
B
|-- trackers
প্রয়োজনীয়তা উল্লেখ করে যে users
এবং trackers
একটি বহু-বহু-সম্পর্ক রয়েছে।
কোনও মাইক্রোসার্চেস আর্কিটেকচারের মধ্যে কীভাবে এটি সঠিকভাবে পরিচালনা করতে হবে তা সম্পর্কে আমি নিশ্চিত নই।
আমি এই তিনটি পদ্ধতির মধ্যে একটির কাজ দেখতে পেলাম:
- একটি
user_trackers
সারণী মাইক্রোসার্ভাইসে যুক্ত করা হয়A
। এটি "বিদেশী কী"users
এবং এর সাথে যোগদানের টেবিলের অনুরূপ কাজ করেtrackers
। - একটি
owners
সারণী মাইক্রোসার্ভাইসে যুক্ত করা হয়B
। এই টেবিলটি বহুকোষী যোগদানের টেবিলের অনুরূপ কাজ করে। এটি কোনও পরিষেবাকে ট্র্যাকারের সাথে সমিতি তৈরি করার অনুমতি দেবে। এটি কিছুটা এর মতো দেখতে পারে:B |-- trackers |-- owners |-- owner_id |-- owner_type |-- tracker_id
- প্রতিটি মাইক্রোসার্ভির জন্য
users
এবং এরtrackers
মধ্যে রেকর্ড রাখুন । এগুলিকে কিছুটা পাবস সিস্টেমের সাথে সিঙ্কে রাখুন।
আমি মূলত অপশন 2 সহ যাচ্ছিলাম কারণ আমার পছন্দ হয়েছে যে এটি লেনদেনের সীমানা সংরক্ষণ করে। আমি একটি ট্র্যাকার তৈরি করতে পারি এবং এটি পরমাণুর সাথে কোনও কিছুর সাথে যুক্ত করতে পারি। তবে এটি মাইক্রোসার্চিসের সুযোগের বাইরে রয়েছে বলে মনে হয় B
। মাইক্রোসার্চিস কেন একটি সমিতি তৈরি করতে চায় B
যে যত্ন করা উচিত A
?
আমি মনে করি এখানে সম্ভবত একটি ভাল প্যাটার্ন আছে যা সম্পর্কে আমি অবগত নই। আমি যে বিকল্পগুলি রেখেছি তা কি কোনও অর্থবোধ করে? আরও কিছুর বিকল্প থাকতে পারে?