CodeShot

مسیر یادگیری Event Driven Architecture

ارتباط سرویس‌ها از طریق انتشار و اشتراک رویداد، به‌جای فراخوانی مستقیم.

7 مرحله

  1. 1.

    Event-Driven Architecture چیست؟

    سبکی از معماری که در آن سرویس‌ها به‌جای فراخوانی مستقیم هم، رویداد (Event) منتشر می‌کنند و سرویس‌های دیگر به آن Subscribe می‌شوند.

    ~10 ساعت
  2. 2.

    مبانی Event، Command و Message

    تفاوت مفهومی بین Event (رخداد گذشته)، Command (دستور) و Message عمومی را در سیستم‌های رویداد-محور روشن می‌کند.

    ~2 ساعت
  3. 3.

    کار با کارگزارهای پیام و مدل Pub-Sub

    نقش Message Broker در انتقال رویدادها بین سرویس‌ها و مدل انتشار-اشتراک (Publish-Subscribe) با ابزارهایی مثل RabbitMQ و Kafka را معرفی می‌کند.

    ~4 ساعت
  4. 4.

    Choreography، Orchestration و الگوی Saga

    دو رویکرد هماهنگی فرایندهای توزیع‌شده، Choreography مبتنی بر رویداد و Orchestration مبتنی بر یک هماهنگ‌کننده مرکزی با الگوی Saga را مقایسه می‌کند.

    ~4 ساعت
  5. 5.

    پیام‌رسانی قابل‌اعتماد با الگوی Outbox

    چگونگی حل مشکل نوشتن هم‌زمان در دیتابیس و انتشار رویداد با استفاده از جدول Outbox و پردازش غیرهم‌زمان آن را شرح می‌دهد.

    ~3 ساعت
  6. 6.

    مبانی Event Sourcing

    ذخیره تغییرات وضعیت به شکل دنباله‌ای از رویدادها به‌جای ذخیره وضعیت نهایی و بازسازی State از روی این رویدادها را معرفی می‌کند.

    ~4 ساعت
  7. 7.

    طراحی Consumer های Idempotent

    چالش پیام‌های تکراری در سیستم‌های توزیع‌شده و طراحی Consumer های Idempotent برای پردازش امن رویدادهای تکراری را بررسی می‌کند.

    ~3 ساعت