Skip to content

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, но и более широкий спектр подходов.

Приоритетные кандидаты

  1. Viewstamped Replication (VR) Хороший следующий шаг после Raft/Zab. Исторически важный и достаточно близкий, чтобы сравнение было понятным, но не дублирующим.
  2. PBFT Нужен, если проект хочет показать переход от crash-fault tolerance к Byzantine fault tolerance.
  3. 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.

Приоритет здесь такой:

  1. sequence diagrams;
  2. comparison matrix;
  3. scenario walkthrough diagrams.

Практический Порядок

Если развивать проект по шагам, лучший порядок сейчас такой:

  1. Shareable URL для полной конфигурации сравнения.
  2. Ещё несколько сильных preset-сценариев.
  3. Comparison docs: sequence diagrams + matrix.
  4. VR как следующий алгоритм.
  5. Затем PBFT или HotStuff.

Краткий Вывод

Ближайшая цель проекта не “добавить ещё пять алгоритмов”, а сделать текущий стенд максимально сильным как инструмент объяснения.

Лучший следующий большой шаг:

  • усилить comparative docs и diagrams;
  • затем добавить Viewstamped Replication;
  • после этого уже выходить в сторону PBFT/HotStuff.

Документация проекта Consensus Landscape