🎯 سیستمهای تراکنشی رو چطوری میشه بهتر طراحی کرد؟
مقاله خیلی جذابی در مورد Transactional Systems منتشر شده که خوندنش رو به همه توصیه میکنم. دید مناسبی نسبت به مراحل اجرای تراکنش و تفاوت ترتیب اجراشون میده
🔍 چهار مرحله اصلی تراکنشها:
اجرای تراکنش یا execution: کدی که عملیات خوندن و نوشتن رو انجام میده.
ترتیبدهی یا ordering: تعیین زمان یا نسخه برای مشخص کردن ترتیب تراکنشها.
اعتبارسنجی یا validation: بررسی صحت تراکنش بر اساس قوانین همزمانی یا منطق دامنه.
پایداری یا persist: ذخیرهسازی دائمی نتایج تراکنش، معمولاً روی دیسک.
این مراحل میتونن بهصورت متوالی یا همزمان انجام بشن و ترتیبشون بسته به طراحی سیستم متفاوته.
💡 مثالها:
کنترل خوشبینانه یا optimistic: اول تراکنش اجرا میشه، بعد اعتبارسنجی و در نهایت پایداری.
کنترل بدبینانه یا pessimistic: از همون اول lock میگیره که از conflict جلوگیری بشه.
در سیستمهایی مثل FoundationDB، این مراحل بهصورت میکروسرویسهای جداگانه پیادهسازی میشن که هر کدوم میتونن مستقل مقیاسپذیر باشن.
متن مقاله کامل رو اینجا میتونین بخونین
🔗 https://transactional.blog/blog/2025-decomposing-transactional-systems
Ai for Software
@aicasts_ir
@gocasts
Post #659
4.79K