এমনকি সহজ মাইক্রোসার্ভেসেস ডিজাইনের জন্য ডেটা ডুপ্লিকেশন বা ভাগ করা ডেটাবেস এড়াতে আমার পক্ষে কঠিন মনে হচ্ছে, যা আমার মনে করে যে আমি কিছু মিস করছি। আমি যে সমস্যার মুখোমুখি হচ্ছি তার একটি প্রাথমিক উদাহরণ এখানে। ধরে নেওয়া যে কেউ কোনও ইনভেন্টরি পরিচালনা করতে একটি ওয়েব অ্যাপ্লিকেশন ব্যবহার করছে তাদের দুটি পরিষেবা প্রয়োজন হবে; স্টোরের আইটেমগুলি এবং পরিমাণ এবং ব্যবহারকারীদের ডেটা পরিচালনা করতে পারে এমন একটি পরিষেবা পরিষেবা পরিচালনার জন্য জায় একটি। আমরা কে ডাটাবেস স্টক করেছে তার একটি নিরীক্ষা চাইলে আমরা সর্বশেষ মূল্য হিসাবে স্টক হিসাবে ইনভেন্টরি পরিষেবাটির জন্য ব্যবহারকারীর আইডি ডাটাবেসে যুক্ত করতে পারি।
অ্যাপ্লিকেশনটি ব্যবহার করে আমরা কম আইটেম চলছে এমন সমস্ত আইটেম এবং গতবার কারা স্টক করেছে তাদের একটি তালিকা দেখতে চাই যাতে আমরা তাদের এটি আবার পুনরায় লক করতে বলি। উপরে বর্ণিত আর্কিটেকচারটি ব্যবহার করে, ইনভেন্টরি সার্ভিসে একটি অনুরোধ করা হবে যেখানে সমস্ত পরিমাণের চেয়ে কম পরিমাণের আইটেমের বিশদটি পুনরুদ্ধার করতে হবে This এটি ব্যবহারকারীর আইডি সহ একটি তালিকা ফিরিয়ে আনবে including তারপরে ইনভেন্টরি পরিষেবা থেকে প্রাপ্ত ব্যবহারকারী আইডির তালিকার জন্য ব্যবহারকারীর নাম এবং যোগাযোগের বিশদ পাওয়ার জন্য ব্যবহারকারীদের সেবার একটি পৃথক অনুরোধ জানানো হবে।
এটি ভয়াবহরূপে অদক্ষ মনে হচ্ছে এবং আমরা বিভিন্ন পরিষেবাদির APIগুলিতে একাধিক অনুরোধ করার আগে এটি আরও অনেক পরিষেবা গ্রহণ করে না যা একাধিক ডাটাবেস অনুসন্ধান করে। বিকল্প ডেটা ইনভেন্টরি ডেটাতে ব্যবহারকারীদের বিবরণ প্রতিলিপি করা হয়। যখন কোনও ব্যবহারকারী তাদের যোগাযোগের বিশদ পরিবর্তন করে তখন আমাদের অন্যান্য সমস্ত পরিষেবার মাধ্যমে পরিবর্তনটি প্রতিলিপি করা দরকার। তবে এটি মাইক্রোসার্ভেসিসের সীমাবদ্ধ প্রসঙ্গ ধারণার সাথে খাপ খায় না বলে মনে হয়। আমরা একটি একক ডাটাবেসও ব্যবহার করতে পারি এবং এটি বিভিন্ন পরিষেবার মধ্যে ভাগ করে নিতে পারি এবং ইন্টিগ্রেশন ডাটাবেসের সমস্ত সমস্যা থাকতে পারি ।
এটি বাস্তবায়নের সঠিক / সর্বোত্তম উপায় কী?