আমি একটি অণুগঠিত REST এপিআইকে একটি মাইক্রোসারওয়াস আর্কিটেকচারে স্থানান্তরিত করার বিষয়ে বিবেচনা করছি এবং আমি ডেটা স্টোরেজ সম্পর্কে কিছুটা বিভ্রান্ত হয়ে পড়ছি। আমি এটি দেখতে হিসাবে, মাইক্রোসার্ভেসিসের কিছু সুবিধা হ'ল:
- অনুভূমিকভাবে স্কেলেবল - লোড এবং / অথবা কোনও সার্ভার ডাউন হয়ে যাওয়ার জন্য আমি মাইক্রোসার্চিসের একাধিক রিলান্ড্যান্ট কপি চালাতে পারি।
- আলগাভাবে মিলিত - আমি অন্যদের পরিবর্তন না করেই মাইক্রোসার্ভেসিসের অভ্যন্তরীণ বাস্তবায়নগুলি পরিবর্তন করতে পারি এবং আমি স্বাধীনভাবে তাদের স্থাপন এবং এগুলি পরিবর্তন করতে পারি ...
আমার সমস্যা ডেটা স্টোরেজ নিয়ে। আমি এটি দেখতে বেশ কয়েকটি বিকল্প রয়েছে:
- সমস্ত মাইক্রোসার্ভিসেসের দ্বারা ভাগ করা একটি একক ডাটাবেস পরিষেবা - এটি আলগা দম্পতির কোনও উপকার পুরোপুরি সরিয়ে দেবে বলে মনে হয়।
- প্রতিটি মাইক্রোসার্ভিসে স্থানীয়ভাবে ইনস্টল করা একটি ডাটাবেস উদাহরণ - আমি এটি অনুভূমিকভাবে স্কেল করার কোনও উপায় দেখতে পাচ্ছি না, তাই আমি মনে করি এটি কোনও বিকল্প হবে।
- প্রতিটি মাইক্রোসারওয়াইসের নিজস্ব ডেটাবেস পরিষেবা থাকে - এটি সবচেয়ে আশাব্যঞ্জক বলে মনে হয়, কারণ এটি আলগা সংযোগ এবং অনুভূমিক স্কেলিংয়ের সুবিধাগুলি সংরক্ষণ করে (অপ্রয়োজনীয় ডাটাবেস অনুলিপি ব্যবহার করে এবং / অথবা বেশ কয়েকটি জুড়ে)
আমার কাছে তৃতীয় বিকল্পটি একমাত্র বিকল্প বলে মনে হচ্ছে, তবে এটি আমার কাছে অবিশ্বাস্যভাবে হেভিওয়েট এবং খুব বেশি পরিমাণে সমাধান বলে মনে হচ্ছে। যদি আমি এটি সঠিকভাবে বুঝতে পারি তবে 4-5 মাইক্রোসার্ভিসেস সহ একটি সাধারণ অ্যাপ্লিকেশনটির জন্য আমাকে 16-20 সার্ভার চালাতে হবে - মাইক্রোসার্চিস প্রতি দুটি প্রকৃত মাইক্রোসার্চিয়াস উদাহরণ (সার্ভার ব্যর্থতার ক্ষেত্রে এবং ডাউনটাইম ছাড়াই মোতায়েনের জন্য), এবং প্রতি মাইক্রোসার্চিসে দুটি ডাটাবেস পরিষেবা দৃষ্টান্ত (সার্ভার ব্যর্থতার ক্ষেত্রে ইত্যাদি ...)।
এটি বেশ খোলামেলাভাবে মনে হয় কিছুটা হাস্যকর। একটি বাস্তব এপিআই চালানোর জন্য 16-20 সার্ভারগুলির মনে রাখবেন যে কোনও বাস্তবসম্মত প্রকল্পে সম্ভবত 4-5 এরও বেশি পরিষেবা থাকবে? এমন কিছু মৌলিক ধারণা আছে যা আমি অনুপস্থিত যা এটি ব্যাখ্যা করবে?
কিছু জিনিস যা উত্তর দেওয়ার সময় সহায়তা করতে পারে:
- আমি এই প্রকল্পের একমাত্র বিকাশকারী এবং নিকট ভবিষ্যতের জন্য থাকব।
- আমি নোড.জেএস এবং মঙ্গোডিবি ব্যবহার করছি তবে আমি ভাষা-অজ্ঞাত উত্তরগুলিতে আগ্রহী হব - একটি উত্তর এমনকি এমনও হতে পারে যে আমি কেবল ভুল প্রযুক্তি ব্যবহার করছি!