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

میکروسرویس چیست و چه مزیتی نسبت به Monolith دارد؟

نشان کردن

پاسخ کوتاه

سبک معماری‌ای که سیستم را به سرویس‌های کوچک و مستقل تقسیم می‌کند؛ مزیت اصلی، امکان توسعه/استقرار/مقیاس‌دهی مستقل هر بخش بدون تأثیر روی بقیه است.

پاسخ کامل

در یک Monolith، هر تغییر کوچک نیاز به Build و Deploy کل برنامه دارد و یک باگ در یک بخش می‌تواند کل سیستم را از کار بیندازد. در میکروسرویس، تیم‌های مختلف می‌توانند مستقل کار کنند، هر سرویس با تکنولوژی مناسب خودش نوشته شود، و مقیاس‌دهی فقط روی سرویس پرترافیک انجام شود (نه کل سیستم).

نکته مهم

مزیت اصلی هزینه‌ای هم دارد: پیچیدگی عملیاتی (Deploy، Monitoring، شبکه) که باید در برابر مزایا سنجیده شود.

اشتباه رایج

❌ فکر کردن که میکروسرویس همیشه بهتر از Monolith است — برای تیم‌های کوچک اغلب برعکس است.