
Cloudflare обирає QuePaxa для експериментального сервісу консенсусу Meerkat
Експериментальний сервіс розподіленого консенсусу Meerkat від Cloudflare використовує алгоритм QuePaxa для керування внутрішньою глобальною площиною керування, прагнучи кращої стабільності в мережах великої протяжності зі змінною затримкою.
Cloudflare анонсував Meerkat, експериментальний сервіс розподіленого консенсусу, створений для керування внутрішньою глобальною площиною керування. Сервіс працює на алгоритмі консенсусу QuePaxa 2023 року від Tennage та Băsescu та ін. Cloudflare каже, що цей вибір спрямований на кращу стабільність у мережах великої протяжності зі змінною затримкою та з'єднаністю.
Чому поширені алгоритми недостатні
Репліки Meerkat узгоджують впорядкований журнал подій, і кожна подія вирішується консенсусом. Порівнянні системи включають Consul, etcd та Apache ZooKeeper, але Meerkat створений для глобального масштабу на кількох континентах. Поширені алгоритми, такі як Raft, Multi-Paxos та Viewstamped Replication, покладаються на одного лідера та передбачувану затримку. Якщо лідер виходить з ладу, сповільнюється або від'єднується, система може зупинитися, доки не буде обрано нового лідера.
Як влаштований QuePaxa
QuePaxa використовує пропонувачів та реєстраторів. Пропонувачі співпрацюють задля пропозиції з найвищим пріоритетом, використовуючи випадково призначені пріоритети; один необов'язковий лідер завжди пропонує з найвищим пріоритетом. За сприятливих умов він може вирішити за один круговий обмін, тоді як під час стрибків затримки, проблем зі з'єднанням та відмов серверів деградує плавно. Алгоритм прибирає залежність від виявлення відмов і уникає руйнівних взаємодій, змушуючи пропонувачів приймати пропозиції з вищим пріоритетом.
Як працюють раунди
QuePaxa працює раундами з чотирьох фаз: Propose and Adopt, Spread, Check and Decide, та Carry Forward. У фазі 0 пропонувачі можуть вирішити негайно, якщо лідер першим досягає більшості. У фазі 2 пропонувач вирішує, якщо пропозиція з найвищим пріоритетом, повернена більшістю, усе ще відповідає його прийнятій пропозиції. Якщо ні, фаза 3 готує решту пропонувачів до наступного раунду. Клієнти підстраховуються, надсилаючи запити до кожної репліки, дозволяючи нелідерським реплікам коротко чекати, щоб лідер міг діяти першим.
Джерела: Cloudflare
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.