Мета-акторы и автоматизация микросервисов: новая библиотека для 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 и ускорение старта новых сервисов за счет генераторов и гибкой архитектуры.

← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!