Мета-акторы и автоматизация микросервисов: новая библиотека для Elixir
Автор на
Хабре анонсирует подход к созданию микросервисов на Elixir с упором на автоматизацию типовых задач — конфигурируемые стейт-машины и прозрачное event-driven хранение данных.
В основе лежит серия open-source библиотек:
- finitomata — автоматизация генерации конечных автоматов (state machines) через декларативное описание (PlantUML/Mermaid) и «раскидывание» бизнес-логики по колбэкам;
- persistomata — (ещё не опубликована) оборачивает хранение и подписку на изменения в те же автоматные абстракции, с поддержкой event log в Clickhouse и возможностью публикации событий в любые внешние системы (RabbitMQ, Postgres и др.);
- antenna — интеллектуальный pub/sub для подписки на переходы и события;
- rambla — публикация событий во внешние каналы;
- Telemetría — инструменты для сбора и расширяемой обработки телеметрии и аспектов.
Ключевые фичи:
- Горизонтальное масштабирование и запуск в кластере «из коробки»;
- Встроенные генераторы кода для state machine, тестов и миграций для Clickhouse;
- 80% загрузки CPU на ноутбуке при нагрузке 1000/50000 req/sec (write/read) в контейнере 8GB RAM;
- Гибкая интеграция с Phoenix, RabbitMQ, Postgres, другими микросервисами.
Решение нацелено на упрощение инфраструктуры микросервисов, минимизацию boilerplate и ускорение старта новых сервисов за счет генераторов и гибкой архитектуры.
Читайте также
Самоуправляемые команды: миф или реальность
Выращиваем джунов, чтобы не искать их: как устроены стажировки в Mindbox
Какие задачи e-commerce решает бизнес-аналитика: от сегментации до персонализации
Сервер за копейки: сборка и эксплуатация blade-сервера Huawei для дома
Как правильно настроить cookie-баннер по требованиям GDPR и Google Consent Mode
Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!