О Wippy
Wippy — опенсорсная среда исполнения на основе акторной модели для приложений, которые должны меняться на лету: системы автоматизации, AI-агенты, расширяемые архитектуры. Ядро создаётся один раз, а потом адаптируется сколько угодно, без пересборки и передеплоя.
Полный обзор продукта, включая то, что Wippy заменяет, чем он не является и кто его создаёт, смотрите на странице About.
В основе — акторная модель. Код работает в изолированных процессах, общающихся через сообщения. Каждый процесс управляет своим состоянием. Если что-то падает, падает изолированно. Дерево супервизоров автоматически перезапускает упавшие процессы.
local worker = process.spawn("app.workers:handler", "app:processes")
process.send(worker, "task", {id = 1, data = payload})
process.monitor(worker)
Конфигурация живёт в центральном реестре и распространяется через события. Меняете конфиг, и запущенные процессы тут же получают обновление. Они адаптируются без перезапуска: новые подключения, изменённая логика, система продолжает работать.
local db = registry.get("app.db:postgres")
local cache = registry.get("app.cache:redis")
Для операций, которые обязаны пережить падение инфраструктуры, состояние сохраняется автоматически: платежи, многошаговые сценарии, долгоиграющие задачи агентов. Сервер упал посреди операции? Workflow продолжится на другой машине с того же места.
Всё запускается одним файлом. Никакой оркестрации контейнеров, никакой координации сервисов. Один бинарник, один конфиг, остальное берёт на себя среда исполнения.
Полную историю о том, почему был создан Wippy, читайте в разделе Why We Built Wippy.