Clément Schanen

AnalytiqueService régional

MSK

Managed Streaming for Apache Kafka

Permet de déployer et gérer des clusters Apache Kafka de manière managée sur AWS

Présentation

  • MSK est un service managé permettant d’utiliser Apache Kafka sans gérer l’infrastructure associée
  • AWS gère :
    • Les brokers
    • La haute disponibilité
    • Les mises à jour
    • Le remplacement des nœuds défaillants

Cas d’utilisation

  • Architecture événementielle
  • Streaming temps réel
  • Communication entre microservices
  • Collecte de logs
  • Pipelines Big Data et analytics

Concepts Kafka

  • Producer : Application qui publie des messages
  • Consumer : Application qui lit les messages
  • Topic : Canal logique contenant les messages
  • Broker : Serveur Kafka stockant et distribuant les messages
  • Partition : Découpage d’un topic pour paralléliser les traitements

Fonctionnement

  • Les producteurs publient des messages dans des topics
  • Les brokers stockent les messages
  • Les consommateurs lisent les messages à leur rythme

Kafka fonctionne de manière découplée et asynchrone

Haute disponibilité

  • Réplication automatique des partitions
  • Répartition sur plusieurs AZ
  • Remplacement automatique des brokers défaillants

MSK Serverless

Version serverless de MSK pour des charges variables :

  • Pas de cluster à gérer
  • Scaling automatique
  • Facturation à l’usage

Tarification

  • Basée sur :
    • Nombre et taille des brokers
    • Stockage utilisé
    • Transfert de données
    • Utilisation du mode serverless

Bonnes pratiques

  • Répartir les partitions correctement
  • Surveiller le lag des consommateurs
  • Utiliser plusieurs AZ
  • Choisir Serverless pour les charges variables