خوارزمية رافت هي خوارزمية توافق لامركزية مصممة لتنسيق مجموعة من الخوادم في نظام موزع. وهي تضمن أن الخوادم تتفق على حالة النظام حتى في حالة فشل بعض الخوادم.
تعمل خوارزمية رافت على النحو التالي:
- انتخاب قائد: في بداية العملية، تقوم الخوادم بانتخاب خادم واحد ليكون القائد. يكون القائد مسؤولاً عن تنسيق الاتصالات وتحديث حالة النظام.
- تضمين مدخلات العميل: عندما يستقبل القائد مدخلات من العميل، فإنه ينشئ مدخل جديدًا في السجل ويضمه.
- تطبيق الإدخالات: بمجرد أن يتم تضمين إدخال في السجل، يرسله القائد إلى الخوادم الأخرى للتطبيق.
- التأكيد على الإدخالات: عندما تتلقى خوادم الأتباع إدخالاً من القائد، فإنها ترسل إقرارًا إلى القائد. بمجرد أن يتلقى القائد الإقرارات من الأغلبية، فإنه يعتبر أن الإدخال قد تم تأكيده.
- التزام الإدخالات: بمجرد أن يتم التأكيد على الإدخال، يتم الالتزام به في حالة النظام الدائمة.
تتميز خوارزمية رافت بالمزايا التالية:
- التسامح مع الأخطاء: يمكن لخوارزمية رافت التعامل مع فشل ما يصل إلى نصف الخوادم في النظام.
- الاتساق القوي: تضمن خوارزمية رافت أن جميع الخوادم في النظام تتفق على حالة النظام.
- الأداء العالي: خوارزمية رافت سريعة وفعالة، حتى في الأنظمة ذات عدد كبير من الخوادم.
تُستخدم خوارزمية رافت في مجموعة متنوعة من الأنظمة الموزعة، بما في ذلك أنظمة تخزين البيانات وقواعد البيانات الموزعة.