Retryable Writes (Retryable Writes)
Retryable Writes: تلاش مجدد خودکار 🔄
Retryable Writes به MongoDB امکان میدهد در صورت خطای موقت (مثل network error یا failover)، به صورت خودکار دوباره تلاش کند. این باعث میشود write operations قابل اعتمادتر شوند.
چگونه کار میکند؟
وقتی یک write operation fail میشود (به دلیل خطای موقت)، MongoDB:
- یک unique identifier برای operation ایجاد میکند
- اگر operation موفق شود، identifier را ذخیره میکند
- اگر fail شود و دوباره تلاش شود، MongoDB بررسی میکند که آیا قبلاً موفق شده یا نه
- اگر قبلاً موفق شده، خطا نمیدهد (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 در صورت خطای موقت استفاده میشوند و اپلیکیشن را قابل اعتمادتر میکنند!
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.