مسیر یادگیری Event Driven Architecture
ارتباط سرویسها از طریق انتشار و اشتراک رویداد، بهجای فراخوانی مستقیم.
7 مرحله
- 1.
Event-Driven Architecture چیست؟
سبکی از معماری که در آن سرویسها بهجای فراخوانی مستقیم هم، رویداد (Event) منتشر میکنند و سرویسهای دیگر به آن Subscribe میشوند.
~10 ساعت - 2.
مبانی Event، Command و Message
تفاوت مفهومی بین Event (رخداد گذشته)، Command (دستور) و Message عمومی را در سیستمهای رویداد-محور روشن میکند.
~2 ساعت - 3.
کار با کارگزارهای پیام و مدل Pub-Sub
نقش Message Broker در انتقال رویدادها بین سرویسها و مدل انتشار-اشتراک (Publish-Subscribe) با ابزارهایی مثل RabbitMQ و Kafka را معرفی میکند.
~4 ساعت - 4.
Choreography، Orchestration و الگوی Saga
دو رویکرد هماهنگی فرایندهای توزیعشده، Choreography مبتنی بر رویداد و Orchestration مبتنی بر یک هماهنگکننده مرکزی با الگوی Saga را مقایسه میکند.
~4 ساعت - 5.
پیامرسانی قابلاعتماد با الگوی Outbox
چگونگی حل مشکل نوشتن همزمان در دیتابیس و انتشار رویداد با استفاده از جدول Outbox و پردازش غیرهمزمان آن را شرح میدهد.
~3 ساعت - 6.
مبانی Event Sourcing
ذخیره تغییرات وضعیت به شکل دنبالهای از رویدادها بهجای ذخیره وضعیت نهایی و بازسازی State از روی این رویدادها را معرفی میکند.
~4 ساعت - 7.
طراحی Consumer های Idempotent
چالش پیامهای تکراری در سیستمهای توزیعشده و طراحی Consumer های Idempotent برای پردازش امن رویدادهای تکراری را بررسی میکند.
~3 ساعت
