Roadmap
Этот документ фиксирует, куда логично развивать Consensus Landscape дальше.
Цель roadmap: сохранить баланс между тремя вещами:
- учебная ценность;
- корректность моделей;
- удобство живого сравнения нескольких алгоритмов на одном экране.
Принципы
- Сначала усиливать уже существующий сравнительный стенд, а не бесконечно наращивать число алгоритмов.
- Добавлять новые алгоритмы только тогда, когда они реально расширяют картину, а не дублируют уже имеющиеся идеи.
- Каждое крупное улучшение должно отвечать хотя бы на один вопрос:
- симуляция стала точнее;
- различия между алгоритмами стали понятнее;
- проектом стало проще пользоваться как учебным инструментом.
Iteration 1
Цель
Довести текущий продукт до уровня сильного учебного стенда, где сценарии, сравнение и объяснение работают как единая система.
Основные задачи
- Сохранять в URL не только comparison-сценарий, но и конфигурацию панелей:
- алгоритм;
- число узлов;
- сетевой профиль;
- число клиентов.
- Добавить ещё 5-10 сильных preset-сценариев:
- long recovery;
- repeated identical writes;
- leader churn;
- minority partition;
- concurrent clients;
- EPaxos conflict-heavy workload.
- Усилить comparative layer:
- готовые пары
Raft vs Multi-Paxos; Raft vs Zab;Paxos vs EPaxos;Multi-Paxos vs EPaxos.
- готовые пары
- Добавить короткие пояснения
что смотретьдля каждого preset-сценария.
Ожидаемый эффект
- Проект станет заметно сильнее именно как средство преподавания.
- Одной ссылкой можно будет открывать уже готовую демонстрацию.
- Сравнение алгоритмов станет воспроизводимым и удобным для лекций, докладов и самостоятельной работы.
Iteration 2
Цель
Сделать comparative docs и визуальное объяснение такими же сильными, как сама симуляция.
Основные задачи
- Добавить sequence diagrams для ключевых write-path:
- Raft;
- Basic Paxos;
- Multi-Paxos;
- Zab;
- EPaxos fast path / slow path.
- Добавить phase/state diagrams:
- выборы и репликация в Raft;
- discovery / sync / broadcast в Zab;
- fast / slow path в EPaxos.
- Добавить comparison matrix:
- модель лидерства;
- тип quorum;
- steady-state latency;
- recovery path;
- работа с конфликтами;
- типичные trade-off.
- Привязать diagrams к тем же сценариям, что есть в симуляторе.
Ожидаемый эффект
- Документация перестанет быть просто описанием алгоритмов и станет мини-курсом.
- Пользователь сможет быстрее связать анимацию в UI с внутренней логикой протокола.
Iteration 3
Цель
Расширить набор алгоритмов так, чтобы проект покрывал не только crash-fault consensus, но и более широкий спектр подходов.
Приоритетные кандидаты
Viewstamped Replication (VR)Хороший следующий шаг после Raft/Zab. Исторически важный и достаточно близкий, чтобы сравнение было понятным, но не дублирующим.PBFTНужен, если проект хочет показать переход от crash-fault tolerance к Byzantine fault tolerance.HotStuffХороший современный контраст к PBFT и удобный способ показать pipeline в BFT-мире.
Второй эшелон
Chain ReplicationПолезен как контраст к quorum-based подходам, хотя это не тот же тип consensus-протокола.Flexible PaxosХорош для объяснения, что majority quorum — не единственный возможный дизайн.MenciusИнтересен как более распределённая альтернатива leader-centric Paxos-family.
Ожидаемый эффект
- Проект перестанет быть только “про Raft/Paxos-family” и станет более полноценной картой design space.
Что Не Делать Сразу
- Не добавлять много новых алгоритмов подряд без comparative-docs слоя.
- Не пытаться сделать production-grade faithful implementation каждого протокола.
- Не перегружать UI десятками контролов без готовых сценариев и объяснений.
Диаграммы И Схемы
Да, их уже стоит делать как отдельное направление работы.
Наиболее полезные типы схем:
- sequence diagrams для write-path;
- phase/state diagrams;
- comparison tables;
- scenario walkthrough diagrams;
- схемы
что происходит во время failover / partition / recovery.
Приоритет здесь такой:
- sequence diagrams;
- comparison matrix;
- scenario walkthrough diagrams.
Практический Порядок
Если развивать проект по шагам, лучший порядок сейчас такой:
- Shareable URL для полной конфигурации сравнения.
- Ещё несколько сильных preset-сценариев.
- Comparison docs: sequence diagrams + matrix.
VRкак следующий алгоритм.- Затем
PBFTилиHotStuff.
Краткий Вывод
Ближайшая цель проекта не “добавить ещё пять алгоритмов”, а сделать текущий стенд максимально сильным как инструмент объяснения.
Лучший следующий большой шаг:
- усилить comparative docs и diagrams;
- затем добавить
Viewstamped Replication; - после этого уже выходить в сторону
PBFT/HotStuff.