وب‌سرویس مجید

پروژه raft-rs

tikv/raft-rs

الگوریتم اجماع توزیع‌شده Raft که به زبان Rust پیاده‌سازی شده است.

کاربرد:

این کتابخانه برای پیاده‌سازی الگوریتم Raft در سیستم‌های توزیع‌شده استفاده می‌شه. Raft به ما کمک می‌کنه تا در یک خوشه از سرورها، توافق نظر رو روی داده‌ها و وضعیت سیستم برقرار کنیم. مناسب ساخت سیستم‌های قابل اعتماد و تحمل خطا مثل پایگاه‌های داده توزیع‌شده، سیستم‌های ذخیره‌سازی و سرویس‌های اورکستریت.

در چه شرایطی بهتره استفاده شود؟

وقتی نیاز داری یک سیستم توزیع‌شده بسازی که:

- باید در صورت خرابی چند نود، همچنان کار کنه ️

- نیاز به انتخاب رهبر (Leader) داره

- باید تغییرات وضعیت به صورت ایمن و سریع در کل خوشه منعکس شود

- می‌خوای از زبان Rust برای عملکرد بالا و ایمنی حافظه استفاده کنی

چند مثال از موارد استفاده:

- ساخت یک key-value store توزیع‌شده مثل TiKV

- مدیریت وضعیت در یک سیستم microservices

- پیاده‌سازی replicated state machines برای سیستم‌های مالی یا حساس

- استفاده در پروژه‌های blockchain که نیاز به توافق دارن

  • ##distributed
  • ##Raft
  • ##Rust
  • ##consensus
  • ##TiKV
  • ##fault
  • ##leader
  • ##replication
  • ##state
  • ##high