CodeShot
Seniorسختی 3 از ۵· در 62٪ مصاحبه‌های این حوزه پرسیده شده

چرا هر میکروسرویس باید دیتابیس مستقل داشته باشد؟

نشان کردن

پاسخ کوتاه

برای حفظ استقلال واقعی سرویس‌ها؛ اگر چند سرویس یک دیتابیس مشترک را Join کنند، تغییر Schema یک سرویس می‌تواند بقیه را بشکند و استقرار مستقل عملاً غیرممکن می‌شود.

پاسخ کامل

دیتابیس مشترک، مرز میکروسرویس را نقض می‌کند و آن را به یک "Monolith توزیع‌شده" با تمام معایب هر دو الگو (پیچیدگی شبکه + وابستگی محکم دیتابیس) تبدیل می‌کند.

نکته مهم

ارتباط بین دادهٔ سرویس‌ها باید از طریق API یا رویداد (Event) انجام شود، نه Join مستقیم دیتابیس.

اشتباه رایج

❌ اجازه دادن به دو میکروسرویس برای Join مستقیم روی جداول یکدیگر «برای راحتی».