Ключевые факты
- Единый бинарный файл журнала событий, написанный полностью на C с HTTP-нативной архитектурой
- Сustойчивая пропускная способность ~50 000 сообщений в секунду в кластере из 3 узлов Raft
- Задержка P99 для клиента измерена в 3,46 мс под нагрузкой
- Восстановление после сбоя обрабатывает ~8 миллионов смещений за 40-50 секунд после SIGKILL
- Использует стандартные команды curl в качестве клиента — не требует JVM, ZooKeeper или тяжелых библиотек
- Продемонстрирована сохранность данных через 2-минутное видео, показывающее восстановление после некорректного завершения
Краткое изложение
Появилась новая система надежного журнала событий, которая бросает вызов традиционной сложности архитектуры. Ayder представляет собой фундаментальный сдвиг в сторону простоты, обеспечивая корпоративную надежность хранения данных через единый бинарный файл, написанный на C.
Основная философия системы сосредоточена на HTTP-нативном дизайне, устраняя необходимость в сложной клиентской инфраструктуре. Вместо того чтобы требовать среды выполнения JVM, координации ZooKeeper или тяжелых клиентских библиотек, Ayder принимает стандартные HTTP-запросы — это означает, что разработчики могут взаимодействовать с ним, используя не более сложное средство, чем curl.
Начальные показатели производительности выявляют впечатляющие возможности: устойчивая пропускная способность 50 000 сообщений в секунду в трехузловом кластере Raft, при этом задержка P99 для клиента составляет всего 3,46 миллисекунды. Пожалуй, наиболее убедительной является демонстрация восстановления после сбоя — после некорректного завершения через SIGKILL система перезапускается и проверяет целостность данных примерно для 8 миллионов смещений меньше чем за минуту.
Архитектура
Философия дизайна Ayder представляет собой осознанный отход от современных шаблонов распределенных систем. Полностью построенная на C, система отдает приоритет минимализму и операционной прозрачности перед широтой функциональности.
Модель развертывания с единым бинарным файлом означает, что операторы управляют одним исполняемым файлом, а не координируют несколько сервисов. Этот подход снижает сложность развертывания, устраняет конфликты зависимостей и упрощает процедуры обновления. Бинарный файл содержит всю необходимую логику для сохранения, консенсуса и обработки HTTP-интерфейса.
HTTP-нативная архитектура кардинально меняет способы интеграции приложений с журналом событий. Вместо импорта специализированных SDK или управления пулями подключений к сервисам координации разработчики отправляют стандартные HTTP-запросы. Этот подход предлагает несколько преимуществ:
- Универсальная совместимость клиентов с любыми языками программирования
- Сокращение поверхности атаки благодаря стандартизированным протоколам
- Упрощенная отладка с использованием привычных HTTP-инструментов
- Меньший объем потребления памяти без тяжелых клиентских библиотек
Система использует консенсус Raft в кластере из трех узлов для обеспечения надежности и доступности. Операции записи синхронизируются по большинству узлов перед подтверждением завершения, обеспечивая строгие гарантии согласованности даже во время сетевых разделений или отказов узлов.
"Числа (3-узловой Raft, реальная сеть, синхронная запись большинства, полезная нагрузка 64 Б): ~50K сообщ/сек устойчиво (wrk2 @ 50K запр/сек), P99 клиента ~3.46 мс."
— Стандарты производительности
Стандарты производительности
Валидация производительности проводилась на трехузловом кластере Raft, работающем в реальной сетевой среде — не в симулированных или изолированных тестовых условиях. Сценарий бенчмарка использовал синхронную запись большинства с полезной нагрузкой 64 байта, что представляет типичные размеры сообщений событий в потоковых архитектурах.
Результаты демонстрируют устойчивую пропускную способность примерно 50 000 сообщений в секунду при непрерывной нагрузке в 50 000 запросов в секунду с использованием инструмента бенчмаркинга wrk2. Этот уровень пропускной способности указывает на то, что система может обрабатывать потоковую ингестию событий в масштабе производства, не становясь узким местом.
Измерения задержки показывают задержку P99 для клиента в 3,46 миллисекунды, что означает, что 99% запросов завершаются в течение этого временного интервала. Этот профиль производительности свидетельствует о том, что Ayder может поддерживать приложения, чувствительные к задержкам, где согласованные времена отклика имеют решающее значение.
Числа (3-узловой Raft, реальная сеть, синхронная запись большинства, полезная нагрузка 64 Б): ~50K сообщ/сек устойчиво (wrk2 @ 50K запр/сек), P99 клиента ~3.46 мс.
Методология бенчмаркинга подчеркивает реалистичные условия, обеспечивая уверенность в том, что эти метрики применимы к реальным сценариям развертывания, а не к идеализированным лабораторным измерениям.
Восстановление после сбоя
Пожалуй, наиболее убедительной демонстрацией надежности Ayder является его способность восстанавливаться после сбоев. Система подверглась некорректному завершению SIGKILL — имитируя внезапный отказ сервера или потерю питания без корректных процедур завершения работы.
После принудительного завершения Ayder перезапустился и успешно подтвердил, что все смещения и данные остались нетронутыми. Процесс восстановления обработал примерно 8 миллионов смещений в временной интервал от 40 до 50 секунд. Скорость восстановления демонстрирует эффективные механизмы контрольных точек и воспроизведения журнала.
Демонстрационное видео, которое длится примерно две минуты от момента начального сбоя до полной проверки восстановления, предоставляет визуальное доказательство устойчивости системы. Эта способность отвечает критическому требованию производственных систем: поддержание целостности данных при незапланированных отключениях.
Ключевые характеристики восстановления включают:
- Автоматическая проверка смещений после перезапуска
- Полное отсутствие потери данных несмотря на некорректное завершение
- Быстрое воспроизведение миллионов залогированных событий
- Прозрачный процесс восстановления, не требующий ручного вмешательства
Эти метрики восстановления указывают на то, что Ayder реализует надежные стратегии журналирования с предварительной записью и создания снимков, гарантируя, что даже катастрофические сбои не скомпрометируют согласованность журнала событий.
Возможность стать дизайнерским партнером
Разработчик активно ищет ранних дизайнерских партнеров для валидации Ayder в различных производственных сценариях. Это приглашение распространяется на организации, работающие с любым типом потоковой ингестии событий или рабочих нагрузок.
Дизайнерские партнеры получат ранний доступ к технологии, предоставляя при этом обратную связь, которая формирует дорожную карту. Система, похоже, готова к реальному тестированию, с полной документацией, включая бенчмарки, демонстрационные видео и руководства по быстрому старту, доступными в репозитории.
Организации, которые могут получить выгоду от оценки, включают тех, кто в настоящее время использует:
- Традиционные очереди сообщений, ищущие HTTP-простоту
- Архитектуры событийного sourcing, требующие надежности
- Микросервисы, нуждающиеся в легковесной координации
- Потоковые платформы, отдающие приоритет восстановлению после сбоев
Призыв к партнерам свидетельствует о том, что проект созрел за пределами стадии концепта и готов к более широкой валидации. Ранние адаптеры помогут выявить пограничные случаи, производственные ограничения и шаблоны интеграции в различных средах развертывания.
Взгляд в будущее
Ayder представляет собой возврат к простоте в дизайне распределенных систем. Отказавшись от слоев абстракции и используя повсеместно распространенные протоколы HTTP, она предлагает убедительную альтернативу сложным архитектурам журнала событий.
Сочетание высокой производительности (50K сообщ/сек), низкой задержки (3.46 мс P99) и надежного восстановления после сбоев (8 миллионов смещений за 40-50 секунд) делает Ayder сильным кандидатом для современных потоковых рабочих нагрузок. Отказ от сложных зависимостей вроде JVM и ZooKeeper в пользу простого HTTP-интерфейса устраняет традиционные барьеры для внедрения и снижает операционную сложность.
По мере того как разработчики ищут способы упростить свои стеки данных, Ayder предлагает путь вперед: надежность корпоративного уровня без корпоративной сложности. Для тех, кто готов оценить этот подход, репозиторий содержит все необходимые ресурсы для начала работы.








