Sobre o projeto

O Kontiki fornece um framework padronizado para o desenvolvimento de sistemas distribuídos, substituindo a configuração manual da topologia do broker por convenções de plataforma. Ele utiliza um conjunto de decorators (@http, @rpc, @on_event, @task) para definir pontos de entrada de serviço e interações sobre um modelo compartilhado de identidade, roteamento e saúde da frota. As principais capacidades incluem: - Padrões de Mensagens: Suporta RPC síncrono para requisição/resposta e eventos assíncronos com múltiplos modos de entrega: padrão (consumidores concorrentes), broadcast (todas as instâncias) e baseado em sessão (instância fixada). - Gestão de Frota: Inclui um registro para heartbeats, rastreamento de exceções e sondas de saúde (GET /live/{service_name}), permitindo que os serviços sinalizem estados degradados. - Ferramentas Operacionais: Integra correlação de fluxo via flow_id para depuração entre serviços e integra-se ao conjunto mais amplo do Kontiki, incluindo o kontiki-scheduler para tarefas cron declarativas, kontiki-tui para visualização da frota e kontiki-monitor para alertas. - Fluxo de Desenvolvimento: Oferece um modelo unificado do desenvolvimento à produção usando configurações YAML mescladas e um módulo de teste dedicado (kontiki.testing) que simula o barramento de mensagens. O framework requer o RabbitMQ como o broker de mensagens subjacente.