এটি সত্যই আপনার স্কেল্যাবিলিটি প্রয়োজনীয়তার উপর নির্ভর করে এবং কীভাবে / যদি আপনার মাইক্রো সার্ভিস উদাহরণগুলির একক ফলাফল সরবরাহ করতে সহযোগিতা করা প্রয়োজন। এটি ট্রেড-অফগুলি কী তা জানতে সহায়তা করে:
এটিকে একটি ডাটাবেসে রাখা
- আরও সহজ কনফিগারেশন
- আপনার পরিষেবার অন্যান্য দৃষ্টান্তগুলির সাথে কোনও সমন্বয় বা যোগাযোগের প্রয়োজন নেই
- আপনার সম্পূর্ণ ডেটাসেট আবিষ্কার করা সহজ
- ডাটাবেস কর্মক্ষমতা দ্বারা সিস্টেম কর্মক্ষমতা সীমাবদ্ধ
ডাটাবেস পৃথক রাখা
- একটি অনুরোধের পুরো উত্তরটি মাইক্রোসার্চিসের উদাহরণগুলিতে ছড়িয়ে যেতে পারে
- সেক্ষেত্রে আপনি অনুরোধটি সমাধান করার জন্য যোগাযোগ এবং আলোচনা বাড়িয়েছেন
- যখন আপনি সেই মাইক্রোসার্চিস নোডটি আলগা করেন তখন ডেটা হ্যান্ডলিং (ডাটাবেসটি এখনও থাকা অবস্থায়ও, ডান কনফিগারেশন সহ কোনও নতুন ব্যাক আপ না হওয়া পর্যন্ত আপনি এটিকে পেতে পারবেন না)
- কনফিগারেশন জটিলতা বৃদ্ধি
আপনি কী সমস্যা সমাধান করছেন?
কিছু ক্ষেত্রে, আপনি কেবল সাময়িক ডেটা সম্পর্কে উদ্বিগ্ন। ডাটাবেস যদি নীচে যায় তবে এটি কোনও বড় সমস্যা নয়। এই ক্ষেত্রে আপনার এমনকি শুরু করার জন্য একটি ডাটাবেস প্রয়োজন হবে না। এগুলি কেবল স্মৃতিতে রাখুন এবং নির্লজ্জভাবে দ্রুত জিনিসগুলি তৈরি করুন। এটি কাজ করার সবচেয়ে সহজ সমাধান।
অন্যান্য ক্ষেত্রে, আপনার ডেটা অখণ্ডতা প্রয়োজন, তবে আপনার ডাটাবেসটি নোডের সংখ্যার ভিত্তিতে এটির ক্ষমতা প্রসারণ করতে সক্ষম। এই ক্ষেত্রে, একটি একক ডাটাবেস সম্ভবত যথেষ্ট পরিমাণের চেয়ে বেশি, এবং এটির সাড়া জাগানো স্বাধীনভাবে পরিচালনা করা সঠিক উত্তর।
এর মধ্যে বেশ কয়েকটি মামলা রয়েছে। উদাহরণস্বরূপ, আপনার কাছে আঞ্চলিকভাবে সুনির্দিষ্ট ডাটাবেস থাকতে পারে, তাই আপনার অঞ্চলের প্রতিটি অঞ্চলের জন্য আলাদা আলাদা অঞ্চলে আপনার আলাদা আলাদা ডাটাবেস থাকে। সাধারণত ডেটাবেসগুলিকে ভাগ করে নেওয়া অঞ্চলগুলিতে ভাল হয় না, তাই এটি তথ্যকে কিছুটা স্থানীয়করণ করার এবং নিজের মধ্যে সমন্বয়কে নিয়ন্ত্রণ করার একটি উপায়।
মতবাদ এবং বাস্তবতা
আমি মাইক্রো সার্ভিসেস এবং সেগুলি কতটা মডুলার হওয়া উচিত সে সম্পর্কে বেশ কয়েকটি নিবন্ধ পড়েছি। প্রস্তাবনাগুলি পুরো ইউনিট হিসাবে সামনের প্রান্ত, মাইক্রোসার্চিস এবং ডেটা স্তরকে রাখা থেকে শুরু করে সমস্ত উদাহরণের জন্য ডাটাবেস এবং / অথবা ফ্রন্ট-এন্ড কোড ভাগ করে নেওয়া পর্যন্ত রয়েছে range সাধারণত, আরও বিচ্ছিন্নতা সর্বাধিক স্কেলাবিলিটি সরবরাহ করে তবে এটি বর্ধিত জটিলতার জন্য ব্যয় করে at
যদি আপনার মাইক্রোসারওয়াইসটি ভারী গণনা করা হয়, তবে এটি প্রয়োজনীয় হিসাবে সেই মাইক্রোসার্চিসের স্কেলগুলির সংখ্যাটি মঞ্জুরি দেওয়ার জন্য অর্থবোধ করে - ডাটাবেস ভাগ করে নেওয়া বা এমনকি সামনের শেষের কোডটি এই পদ্ধতির ক্ষতি বা বাধা দেয় না।
বাস্তবতাটি হ'ল সময় মতো ফ্যাশনে কাজ করতে এবং আপনার পরিমাপ করা সিস্টেমের বোঝা পরিচালনা করার জন্য আপনার প্রকল্পের নির্দিষ্ট প্রয়োজনগুলির জন্য বিভিন্ন সমঝোতার প্রয়োজন হবে (আরও কিছুটা বেশি)। উচ্চতর লক্ষ্য হতে পুরোপুরি বিচ্ছিন্ন ফ্রন্ট-এন্ড, মাইক্রোসররিভাইস এবং ডেটা স্তর স্তরের ত্রয়ীটিকে বিবেচনা করুন। আপনার সিস্টেমে যত বেশি চাহিদা, সেই লক্ষ্যটির আরও কাছাকাছি হওয়ার দরকার আপনার। আমরা সবাই নই [insert name of highly successful web entity here]
, তারা এখন কোথায় আছে সেগুলি তারা শুরু করে নি। কখনও কখনও আপনার কেবল নিখুঁত পরিস্থিতির চেয়ে কম শুরু করে শুরু করতে হবে এবং এতে খুশি হতে হবে।