Об этом проекте

Kontiki предоставляет стандартизированный фреймворк для разработки распределенных систем, заменяя ручную настройку топологии брокера платформенными соглашениями. Он использует набор декораторов (@http, @rpc, @on_event, @task) для определения точек входа в сервис и взаимодействий через общую модель идентификации, маршрутизации и состояния парка сервисов. Ключевые возможности включают: - Паттерны обмена сообщениями: поддержка синхронного RPC для запросов/ответов и асинхронных событий с несколькими режимами доставки: по умолчанию (конкурирующие потребители), широковещательный (все экземпляры) и сессионный (закрепленный экземпляр). - Управление парком: включает реестр для heartbeats, отслеживание исключений и пробы здоровья (GET /live/{service_name}), позволяя сервисам сигнализировать о деградировавшем состоянии. - Операционный инструментарий: интеграция корреляции потоков через flow_id для межсервисной отладки и интеграция с более широким набором инструментов Kontiki, включая kontiki-scheduler для декларативных cron-задач, kontiki-tui для визуализации парка и kontiki-monitor для оповещений. - Рабочий процесс разработки: предлагает единую модель от разработки до продакшена с использованием объединенных YAML-конфигураций и специализированного модуля тестирования (kontiki.testing), который имитирует шину сообщений. Фреймворк требует наличия RabbitMQ в качестве базового брокера сообщений.