Operaciones y seguridad
Kafka es infraestructura critica cuando conecta servicios y datos. Operarlo bien exige seguridad, observabilidad, backups de configuracion y disciplina de cambios.
Seguridad en capas
Capas habituales:
- Red privada.
- TLS.
- Autenticacion.
- Autorizacion.
- Auditoria.
- Gestion de secretos.
TLS
TLS cifra comunicacion entre clientes y brokers.
Sin TLS, eventos y credenciales pueden viajar en claro dentro de la red.
Autenticacion
Mecanismos comunes:
- SASL/SCRAM.
- mTLS.
- OAuth/OIDC en plataformas compatibles.
Ejemplo conceptual:
sasl.mechanism=SCRAM-SHA-512
security.protocol=SASL_SSLACLs
Las ACLs controlan quien puede leer, escribir o administrar recursos.
Ejemplo conceptual:
User:billing-service puede READ orders.created
User:orders-service puede WRITE orders.createdPrincipio: minimo privilegio.
Configuracion de topics
Parametros importantes:
retention.msretention.bytescleanup.policymin.insync.replicasreplication.factorpartitions
min.insync.replicas
Con acks=all, este valor define cuantas replicas sincronizadas deben confirmar.
Ejemplo:
replication.factor=3
min.insync.replicas=2
acks=allPermite tolerar la perdida de un broker sin aceptar escrituras inseguras.
Retencion
Kafka borra eventos segun tiempo o tamano:
retention.ms=604800000
retention.bytes=10737418240La retencion debe cubrir el tiempo maximo de reprocesamiento esperado.
Log compaction
cleanup.policy=compact conserva el ultimo valor por key.
Util para:
- Estados actuales.
- CDC.
- Tablas compactadas.
No es igual que retencion historica completa.
Operaciones de riesgo
- Reducir retencion sin revisar consumidores.
- Borrar topics manualmente.
- Cambiar partitions sin analizar orden.
- Desactivar ACLs temporalmente.
- Hacer rolling restart sin health checks.
Buenas practicas
- Gestiona topics como codigo cuando sea posible.
- Revisa ACLs en pull request.
- Usa TLS y autenticacion en entornos compartidos.
- Define owners para topics.
- Monitoriza lag, ISR, under-replicated partitions y errores.
- Documenta runbooks de incidentes.
