پکسوس و رفت
پکسوس و رفت دو پروتکل اجماع عملی بسیار تأثیرگذار هستند که توافق تحملپذیر در برابر خرابی را بر روی یک لاگ تکراری فراهم میکنند و زیربنای سیستمهای هماهنگی در دنیای واقعی را تشکیل میدهند.
Definition
پکسوس و رفت پروتکلهای مبتنی بر حد نصاب هستند که به مجموعهای از نسخههای تکراری اجازه میدهند تا بر روی یک توالی مرتب از دستورات (یک لاگ تکراری) با وجود خرابیها به توافق برسند، و اطمینان حاصل میکنند که ورودیهای تعهد شده هرگز از بین نمیروند یا دوباره مرتب نمیشوند، تا زمانی که اکثریت نسخههای تکراری در دسترس باقی بمانند.
Scope
این موضوع خانواده پکسوس—پکسوس تکفرمان، مولتیپکسوس، و بهبودهای مهندسی آن—و پروتکل رفت را پوشش میدهد که همان تضمینها را حول یک رهبر صریح، تکرار لاگ، و تغییر عضویت برای قابلیت درک مجدداً سازماندهی میکند. این موضوع نقشهای پیشنهاددهندگان/پذیرندگان و رهبران/پیروان، تقاطع حد نصاب، انتخاب رهبر و دورهها، تطابق لاگ، و نگرانیهای عملی مربوط به اسنپشاتها و پیکربندی مجدد را در بر میگیرد.
Core questions
- چگونه تقاطع حد نصاب و شمارهگذاری پیشنهادها، پکسوس را در طول دورهها و تغییرات رهبر ایمن نگه میدارد؟
- چگونه رفت اجماع را به انتخاب رهبر، تکرار لاگ، و ایمنی تجزیه میکند؟
- چه چالشهای مهندسی هنگام تبدیل این پروتکلها به سیستمهای تولیدی به وجود میآیند؟
Key theories
- پکسوس تکفرمان و مولتیپکسوس
- پکسوس از طریق فازهای آمادهسازی و پذیرش که توسط شمارههای پیشنهاد یکنواخت و حد نصاب اکثریت اداره میشوند، بر روی یک مقدار به توافق میرسد؛ مولتیپکسوس فاز آمادهسازی را در طول جریانی از تصمیمات که توسط یک رهبر پایدار هدایت میشود، برای ساخت یک لاگ تکراری مستهلک میکند.
- تجزیه رفت
- رفت با انتخاب یک رهبر واحد در هر دوره، واداشتن رهبر به افزودن ورودیهایی که پیروان تکرار میکنند، و اعمال یک ویژگی تطابق لاگ، به همان ایمنی پکسوس دست مییابد، و عمداً حداقلگرایی را با قابلیت درک و سهولت پیادهسازی معاوضه میکند.
- از مشخصات تا سیستم در حال اجرا
- استقرار پکسوس در عمل نیازمند مدیریت خرابیهای دیسک، اجارههای رهبر، فشردهسازی لاگ، و پیکربندی مجدد است، جزئیاتی که اغلب در الگوریتم اصلی نادیده گرفته میشوند اما برای صحت و عملکرد ضروری هستند.
Clinical relevance
پکسوس و رفت در داخل سرویسهای هماهنگی پرکاربرد، پایگاههای داده توزیعشده، و مخازن پیکربندی اجرا میشوند؛ درک آنها برای ساخت یا عملیات هر سیستمی که باید نسخههای تکراری را در برابر خرابیها به شدت سازگار نگه دارد، ضروری است.
History
لمپورت پکسوس را در مقاله «پارلمان پارهوقت» خود در سال ۱۹۹۸ توصیف کرد و آن را در «پکسوس ساده شد» (۲۰۰۱) روشن ساخت؛ چاندرا و همکارانش واقعیتهای عملیاتی کردن آن در مقیاس بزرگ را در سال ۲۰۰۷ گزارش کردند؛ و اونگارو و اوسترهوت رفت را در سال ۲۰۱۴ معرفی کردند تا تضمینهای معادل را بسیار آسانتر برای آموزش و پیادهسازی کنند.
Debates
- قابلیت درک در مقابل حداقلگرایی در پروتکلهای اجماع
- رفت به صراحت برای آسانتر کردن درک نسبت به پکسوس طراحی شد، که بحثی را برانگیخت که آیا ساختار اضافی آن (یک رهبر قوی) انعطافپذیری را قربانی میکند؛ طرفداران استدلال میکنند که قابلیت درک، خطاهای پیادهسازی را کاهش میدهد، در حالی که دیگران اشاره میکنند که انواع پکسوس میتوانند عمومیتر باشند.
Key figures
- Leslie Lamport
- Diego Ongaro
- John Ousterhout
- Tushar Chandra
Related topics
Seminal works
- lamport1998
- ongaro2014
- chandra2007
Frequently asked questions
- آیا پکسوس و رفت اساساً الگوریتمهای متفاوتی هستند؟
- خیر—آنها همان مشکل را با همان هسته حد نصاب اکثریت و تضمینهای ایمنی معادل حل میکنند. رفت عمدتاً پکسوس را حول یک رهبر قوی و یک لاگ صریح سازماندهی مجدد میکند تا پروتکل را آسانتر برای درک و پیادهسازی کند.