Об этом проекте
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 в качестве базового брокера сообщений.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.