پروتکل Raft چیست‌و‌چگونه کار‌می‌کند؟ (2)


ماهان سرجوقیان 27 آبان 1401 7 دقیقه مطالعه
پروتکل Raft چیست‌و‌چگونه کار‌می‌کند؟ (2)

فهرست محتوا

در Raft، رهبر با مجبور کردن لاگ‌های دنبال‌کنندگان به کپی کردن لاگ‌های خودش، ناسازگاری‌ها را مدیریت می‌کند. این بدان معناست که ورودی‌های متناقض در گزارش‌های فالوور با ورودی‌های گزارش رهبر بازنویسی می‌شوند. گره رهبر (Leader) آخرین عدد شاخص منطبق را در Leader و Follower را جستجو می کند، سپس هر ورودی اضافی را در آن نقطه (شماره شاخص) با ورودی های جدید ارائه شده توسط Leader بازنویسی می کند. این به تطبیق Log فالوور با رهبر کمک می کند.

ایمنی پروتکل Raft چگونه است ؟

ایمنی پروتکل‌Raft به منظور حفظ ثبات و مجموعه یکسانی از گره‌های سرور، توسط الگوریتم اجماع Raft تضمین می‌شود که رهبر تمام ورودی‌های شرایط قبلی را در گزارش خود خواهد داشت. در طول انتخابات , رهبر، RequestVote RPC همچنین اطلاعاتی حاوی گزارش نامزد (مانند شماره دوره) را در اختیار دارد تا بفهمد کدام یک جدیدترین است. اگر کاندیدای درخواست کننده رأی داده های به روز کمتری نسبت به فالووری که از آن درخواست رأی می کند داشته باشد، فالوور به سادگی به نامزد مذکور رأی نمی دهد. گزیده زیر از مقاله اصلی Raft آن را به روشی مشابه و عمیق پاک می کند. ‏Raft با مقایسه فهرست و مدت آخرین ورودی‌ها در گزارش‌ها، تعیین می‌کند که کدام یک از دو گزارش به‌روزتر است. اگر گزارش‌ها آخرین ورودی‌ها را با عبارت‌های مختلف داشته باشند، گزارش با عبارت بعدی به‌روزتر است. اگر گزارش‌ها با همان عبارت تمام شوند، هر لاگ طولانی‌تر باشد، به‌روزتر است. 

قوانین ایمنی در پروتکل Raft

پروتکل Raft ایمنی زیر را در برابر نقص اجماع به دلیل طراحی خود تضمین می کند: امنیت انتخابات رهبر (حداکثر یک رهبر در هر دوره) : ایمنی تطبیق گزارش: اگر چندین گزارش دارای یک ورودی با شاخص و عبارت یکسان باشند، در این صورت تضمین می‌شود که آن گزارش‌ها در تمام ورودی‌ها تا نمایه داده شده یکسان باشند. کامل بودن لیدر : ورودی‌های گزارشی که در یک عبارت معین انجام می‌شوند همیشه در گزارش‌های رهبران پس از عبارت مذکور ظاهر می‌شوند. ایمنی ماشین حالت : اگر سروری یک ورودی گزارش خاصی را در ماشین حالت خود اعمال کرده باشد، هیچ سرور دیگری در خوشه سرور نمی تواند دستور متفاوتی را برای همان گزارش اعمال کند. خرابی گره فالوور : هنگامی که گره فالوور از کار می افتد، تمام درخواست های ارسال شده به گره از کار افتاده نادیده گرفته می شود. علاوه بر این، گره سقوط کرده به دلایل واضح نمی تواند در انتخابات رهبر شرکت کند. هنگامی که گره راه اندازی مجدد می شود، گزارش خود را با گره رهبر همگام می کند. عضویت در خوشه و اجماع : هنگامی که وضعیت گره ها در خوشه تغییر می کند (پیکربندی خوشه تغییر می کند)، سیستم در معرض خطاهایی قرار می گیرد که می تواند سیستم را خراب کند. بنابراین، برای جلوگیری از این امر، Raft از آنچه به عنوان یک رویکرد دو فازی برای تغییر عضویت در خوشه شناخته می‌شود، استفاده می‌کند. بنابراین، در این رویکرد، ابتدا خوشه قبل از دستیابی به پیکربندی عضویت جدید به یک حالت میانی (معروف به اجماع مشترک) تغییر می کند. اجماع مشترک سیستم را برای پاسخگویی به درخواست های مشتری حتی زمانی که انتقال بین پیکربندی ها در حال انجام است، در دسترس قرار می دهد. 

ادامه مطلب
 الگوریتم اثبات سهام (POS) و الگوریتم اثبات سرویس (masternodes) چه‌تفاوتی دارند ؟

مزایا و ویژگی های پروتکل Raft چیست؟Paxos 

پروتکل Raft طوری طراحی شده است که به راحتی قابل درک باشد با توجه به اینکه محبوب ترین راه برای دستیابی به اجماع در سیستم های توزیع شده الگوریتم Paxos بود که درک و پیاده سازی آن بسیار سخت بود. پروتکل Raft به زیرمشکلات کوچک‌تری تجزیه شده است که می‌توانند به طور نسبتاً مستقل برای درک بهتر، پیاده‌سازی، اشکال‌زدایی، بهینه‌سازی عملکرد برای یک مورد خاص‌تر حل شوند. سیستم توزیع شده پیرو پروتکل اجماع Raft حتی زمانی که اقلیتی از سرورها از کار بیفتند، عملیاتی خواهد ماند. به عنوان مثال، اگر یک خوشه گره 5 سرور داشته باشیم، اگر 2 گره از کار بیفتند، سیستم همچنان می تواند کار کند. مکانیسم انتخاب رهبر به کار گرفته شده در Raft به گونه ای طراحی شده است که یک گره همیشه در حداکثر 2 دوره اکثریت آرا را به دست می آورد. ‏Raft از مفاهیم مدرنی استفاده می کند که هنوز در زمان تدوین Paxos و پروتکل های مشابه درک نشده بودند. هر گره در خوشه می تواند رهبر شود. بنابراین، دارای درجه خاصی از انصاف است.

Raft

Raft

محدودیت های پروتکل Raft چیست؟

 ‏Raft کاملاً تک پروتکل leader است. ترافیک بیش از حد می تواند سیستم را خفه کند. برخی از انواع الگوریتم Paxos وجود دارد که به این تنگنا می پردازد. مفروضات زیادی برای عمل در نظر گرفته می شود، مانند عدم وقوع شکست های بیزانسی، که به نوعی  کاربرد زندگی واقعی را کاهش می دهد. ‏Raft یک رویکرد تخصصی تر برای زیر مجموعه ای از مشکلات است که در دستیابی به اجماع ایجاد می شود. ‏Cheap-paxos (نوعی از Paxos)، می تواند حتی زمانی که تنها یک گره در خوشه سرور کار می کند، کار کند. 

نمونه ای از پروتکل Raft

ارزدیجیتال پکسوس (pax-dollar) از پروتکل Raft استفاده می کند. برای خرید ارزدیجیتال پکسوس هم به وسیله خرید تتر و هم از طریق خرید به صورت ریالی می توانید از طریق سایت و اپلیکیشن صرافی ارزدیجیتال اقدام‌کنید.

Share this...
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
برچسب‌ها :

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

Rating*