Seniorسختی 3 از ۵· در 62٪ مصاحبههای این حوزه پرسیده شده
چرا هر میکروسرویس باید دیتابیس مستقل داشته باشد؟
☆نشان کردنپاسخ کوتاه
برای حفظ استقلال واقعی سرویسها؛ اگر چند سرویس یک دیتابیس مشترک را Join کنند، تغییر Schema یک سرویس میتواند بقیه را بشکند و استقرار مستقل عملاً غیرممکن میشود.
پاسخ کامل
دیتابیس مشترک، مرز میکروسرویس را نقض میکند و آن را به یک "Monolith توزیعشده" با تمام معایب هر دو الگو (پیچیدگی شبکه + وابستگی محکم دیتابیس) تبدیل میکند.
نکته مهم
ارتباط بین دادهٔ سرویسها باید از طریق API یا رویداد (Event) انجام شود، نه Join مستقیم دیتابیس.
اشتباه رایج
❌ اجازه دادن به دو میکروسرویس برای Join مستقیم روی جداول یکدیگر «برای راحتی».
