Self-hosting do Kilden
O Kilden foi construído para ser self-hosted, e o self-hosting será documentado aqui quando o nosso lançamento open source sair. Sem promessas de data — preferimos publicá-lo funcionando a publicá-lo anunciado.
O que você estaria rodando
Seção intitulada “O que você estaria rodando”O preview honesto. O Kilden é uma pequena frota de serviços stateless em volta de quatro peças de infraestrutura — streaming compatível com Kafka, ClickHouse, Postgres, Redis, e object storage compatível com S3 para o replay:
SDKs / provider webhooks / external sources │ ▼ capture ──► events_raw (keyed by distinct_id) │ ▼ enricher ──► Postgres (persons, identities) │ ▼ events_enriched (keyed by person_id) │ │ │ │ ▼ ▼ ▼ ▼ warehouse campaign CDP live tail writer matcher sync │ │ │ │ ▼ ▼ ▼ ▼ panel (websocket) ClickHouse journeys destinations (PG) → scheduler → dispatcher → email provider │ provider webhooks ──────┘ (re-enter through capture)O session replay segue um caminho paralelo: os chunks de gravação vão para o object storage, apenas ponteiros de ~200 bytes viajam pelo Kafka, e um indexador constrói o índice de sessões no ClickHouse.
As propriedades que o tornam operável:
- Serviços são stateless — todo o estado vive nos bancos de dados e nos offsets dos consumidores, então tudo escala horizontalmente e restarts são entediantes.
- Entrega at-least-once com bordas idempotentes — toda camada pode fazer retry com segurança; a deduplicação por UUIDs gerados no cliente a torna exactly-once onde importa.
- Um único caminho de escrita — todo evento entra pelo capture, então há exatamente uma coisa a proteger, limitar e monitorar na ingestão.
Enquanto isso
Seção intitulada “Enquanto isso”O Kilden Cloud é a versão hospedada exatamente desta arquitetura — mesmo código, mesmas garantias. Todo o resto desta documentação se aplica aos dois.