תבנית Transactional Outbox: פרסום אירועים אמין במארג מיקרו-שירותים
בארכיטקטורת מיקרו-שירותים מבוססת אירועים (Event-Driven Architecture), שירותים מפיצים אירועים באופן קבוע (OrderCreated, PaymentProcessed) כדי לתקשר שינויי מצב באופן מנותק.
עם זאת, הבטחת אמינות מלאה בפרסום אירועים מציבה אתגר קריטי: כיצד להבטיח שעדכון מסד הנתונים ופרסום האירוע יצליחו שניהם יחד או ייכשלו שניהם יחד?
אם מיקרו-שירות מעדכן את מסד הנתונים המקומי שלו (PostgreSQL או MySQL) ולאחר מכן מנסה לשלוח הודעה ברשת לברוקר (כגון Apache Kafka או RabbitMQ), תקלת רשת עלולה לגרום לחוסר עקביות בנתונים.
Microservices
Outbox Pattern
Distributed Systems
Kafka
Debezium
Event-Driven Architecture
System Design