کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

میکروسرویس و میکروفرانت‌اند

Microservices & micro-frontends

میکروسرویس یک ارتقا نیست؛ یک معامله است. پیچیدگی داخل کد را کم می‌کنی و به شبکه منتقلش می‌کنی. این مسیر هر دو طرف معامله را نشان می‌دهد و بیشترین وقتش را روی سخت‌ترین بخش می‌گذارد: اینکه سرویس‌ها چطور با هم حرف بزنند.

۲۱فصل
۳۴۵تمرین با پاسخ
≈ ۳۱ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

مونولیت بد نیست — کِی میکروسرویس

نشانه‌های واقعی نیاز، و هزینه‌ای که می‌پذیری.

در نوبت نوشتن
۲

مرزبندی سرویس‌ها

bounded context، و اشتباه مرزبندی بر اساس جدول.

در نوبت نوشتن
۳

ارتباط همگام ۱: REST

طراحی API، نسخه، و هزینهٔ فراخوانی زنجیره‌ای.

در نوبت نوشتن
۴

ارتباط همگام ۲: gRPC

protobuf، استریم، و کِی از REST بهتر است.

در نوبت نوشتن
۵

ارتباط ناهمگام ۱: صف پیام

RabbitMQ، تحویل، تأیید و صف مرده.

در نوبت نوشتن
۶

ارتباط ناهمگام ۲: جریان رویداد

Kafka، partition، consumer group و ترتیب.

در نوبت نوشتن
۷

مقایسهٔ روش‌های ارتباط

ماتریس تصمیم: کدام روش برای کدام مسئله.

در نوبت نوشتن
۸

API Gateway و BFF

یک درِ ورودی، و اینکه چرا هر کلاینت BFF خودش را می‌خواهد.

در نوبت نوشتن
۹

service discovery و توزیع بار

سرویس‌ها چطور همدیگر را پیدا می‌کنند.

در نوبت نوشتن
۱۰

داده: هر سرویس، پایگاه‌دادهٔ خودش

و مسئله‌ای که این قانون می‌سازد.

در نوبت نوشتن
۱۱

تراکنش توزیع‌شده: Saga

choreography در برابر orchestration، و جبران.

در نوبت نوشتن
۱۲

الگوی Outbox و تحویل تضمین‌شده

چطور پیام و پایگاه‌داده از هم جدا نیفتند.

در نوبت نوشتن
۱۳

تاب‌آوری

retry، timeout، circuit breaker، bulkhead.

در نوبت نوشتن
۱۴

idempotency و پیام تکراری

شبکه پیام را دو بار می‌رساند. آماده باش.

در نوبت نوشتن
۱۵

مشاهده‌پذیری توزیع‌شده

لاگ، متریک و trace با OpenTelemetry.

در نوبت نوشتن
۱۶

نسخه‌گذاری API و سازگاری

تغییر بدون شکستن کلاینت‌ها.

در نوبت نوشتن
۱۷

میکروفرانت‌اند

روش‌ها: build-time، run-time، module federation — و trade-offها.

در نوبت نوشتن
۱۸

ضدالگوها

مونولیت توزیع‌شده، و بقیهٔ راه‌های شکست.

در نوبت نوشتن
۱۹

پروژهٔ ۱ — دو سرویس با REST

تقسیم یک مونولیت کوچک به دو سرویس.

در نوبت نوشتنپروژهٔ ساده
۲۰

پروژهٔ ۲ — افزودن صف و Saga

یک عملیات چندسرویسه با جبران خطا.

در نوبت نوشتنپروژهٔ متوسط
۲۱

پروژهٔ ۳ — سامانهٔ کامل

gateway، رویداد، trace توزیع‌شده و circuit breaker.

در نوبت نوشتنپروژهٔ پیچیده