مرحّلات Outbox: الاستطلاع مقابل CDC
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
choose how outbox rows reach the broker.
الموضوعات المخطط لها
- Polling relay: a scheduled job selects unsent rows (
ORDER BY created_at), publishes, marks them sent. Simple; adds latency and database load. - With several relay instances, use
FOR UPDATE SKIP LOCKEDso they do not take the same rows. - CDC (change data capture, for example Debezium) reads the database log and publishes row changes. Low latency, no polling, but more infrastructure.
- Both give at-least-once. Ordering per aggregate must be preserved.
- Delete or archive sent rows, or the table grows forever.
تفاصيل المخطط المبدئي
عرض عملي
SELECT * FROM outbox WHERE sent_at IS NULL
ORDER BY created_at LIMIT 100 FOR UPDATE SKIP LOCKED;اختبر فهمك
What does SKIP LOCKED allow?
أظهر الإجابة
Several relay instances to work on different rows at once.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.