دوره‌ها / MongoDB / Retryable Writes (Retryable Writes)

Retryable Writes (Retryable Writes)

15 دقیقه Article

Retryable Writes: تلاش مجدد خودکار 🔄

Retryable Writes به MongoDB امکان می‌دهد در صورت خطای موقت (مثل network error یا failover)، به صورت خودکار دوباره تلاش کند. این باعث می‌شود write operations قابل اعتمادتر شوند.

چگونه کار می‌کند؟

وقتی یک write operation fail می‌شود (به دلیل خطای موقت)، MongoDB:

  1. یک unique identifier برای operation ایجاد می‌کند
  2. اگر operation موفق شود، identifier را ذخیره می‌کند
  3. اگر fail شود و دوباره تلاش شود، MongoDB بررسی می‌کند که آیا قبلاً موفق شده یا نه
  4. اگر قبلاً موفق شده، خطا نمی‌دهد (idempotent)

فعال‌سازی:

// در MongoDB Driver (Node.js)
const client = new MongoClient(uri, {{
  retryWrites: true  // پیش‌فرض در MongoDB 4.2+
}});

// در Connection String
mongodb://localhost:27017/?retryWrites=true

Operations پشتیبانی شده:

  • insertOne, insertMany
  • updateOne, updateMany, replaceOne
  • deleteOne, deleteMany
  • findOneAndUpdate, findOneAndReplace, findOneAndDelete
💡 نکته: Retryable Writes به صورت پیش‌فرض در MongoDB 4.2+ فعال است و فقط در replica sets و sharded clusters کار می‌کند. این feature باعث می‌شود اپلیکیشن‌ها در برابر network errors و failovers مقاوم‌تر شوند.
✅ یاد گرفتید: Retryable Writes برای اطمینان از موفقیت write operations در صورت خطای موقت استفاده می‌شوند و اپلیکیشن را قابل اعتمادتر می‌کنند!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید