📊 Data

kafka-patterns

Patterns Apache Kafka — topics, partitions, consumer groups, exactly-once semantics et Kafka Streams.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- kafka-patterns --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } kafka-patterns -Launch"

🚀 Déjà installé ?

claude "/kafka-patterns"

Ou tapez /kafka-patterns dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

KafkaApache Kafkatopic Kafkaconsumer groupKafka Streamsevent streaming

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/data-skills/kafka-patterns ~/.claude/skills/

Source : data-skills/kafka-patterns

📖 Manuel

Kafka Patterns

Workflow

  1. Concevoir la topologie des topics — Définir les topics en fonction des domaines métier (events, commands, changelog), choisir le nombre de partitions en fonction du débit cible et du parallélisme des consumers, et configurer la rétention (time-based, size-based, compaction).
  1. Définir le schéma des messages — Concevoir les événements avec un format structuré (Avro, Protobuf ou JSON Schema), enregistrer les schémas dans un Schema Registry, définir les règles de compatibilité (backward, forward, full), et inclure les métadonnées standard (event_id, timestamp, source, correlation_id).
  1. Implémenter les producers — Configurer les producers avec les garanties de livraison adaptées (acks=all pour la durabilité, idempotence=true pour éviter les doublons), le partitionnement par clé métier, le batching et la compression pour optimiser le débit.
  1. Concevoir les consumer groups — Organiser les consumers en groupes logiques, gérer les offsets (auto-commit vs commit manuel), implémenter le rebalancing gracieux, et configurer les paramètres de performance (max.poll.records, fetch.min.bytes, session.timeout.ms).
  1. Implémenter les patterns de traitement — Appliquer les patterns adaptés au besoin : Event Sourcing (journal d'événements comme source de vérité), CQRS (séparation lecture/écriture), Saga (transactions distribuées), et CDC (Change Data Capture avec Debezium).
  1. Configurer Kafka Streams ou ksqlDB — Développer les traitements de streaming avec Kafka Streams (KStream, KTable, joins, windowing, aggregations) ou ksqlDB pour les transformations déclaratives en SQL, les materialized views et les stream-table joins.
  1. Assurer l'exactly-once semantics — Configurer les transactions Kafka pour le traitement exactly-once : enable.idempotence, transactional.id pour les producers, isolation.level=read_committed pour les consumers, et les transactions Kafka Streams.
  1. Monitorer et opérer — Surveiller les métriques clés : consumer lag, throughput par partition, latence end-to-end, taille des topics. Configurer les alertes sur le lag excessif, les erreurs de sérialisation, et les rebalancing fréquents. Utiliser Kafka UI ou Confluent Control Center.

Règles