Apache Kafka est une plateforme de streaming d'événements.
Apache Kafka combine trois fonctionnalités clés pour vous permettre de mettre en œuvre vos cas d'utilisation du streaming d'événements de bout en bout avec une seule solution éprouvée :
Pour publier (écrire) et s'abonner (lire) à des flux d'événements, y compris l'importation/exportation continue de vos données à partir d'autres systèmes.
Pour stocker des flux d'événements de manière durable et fiable, aussi longtemps que vous le souhaitez.
Traiter des flux d'événements au moment où ils se produisent ou rétrospectivement.
Et toutes ces fonctionnalités sont fournies de manière distribuée, hautement évolutive, élastique, tolérante aux pannes et sécurisée.
Apache Kafka est déployé sur site dans les centres de données de cegedim.cloud.
cegedim.cloud garantit le même niveau de service que l'offre Compute : déploiement des instances, maintien en condition opérationnelle, flexibilité, sécurité, monitoring sont ainsi assurés par nos experts.
Le déploiement d'un cluster de 3 nœuds minimum en version 3.6.0 est disponible en libre-service dans ITCare. Cette topologie est prête pour la production avec :
3 brokers minimum répartis sur plusieurs zones de disponibilité
3 contrôleurs dédiés répartis sur plusieurs zones de disponibilité
Les clusters livrés sont sécurisés à la fois pour les communications inter-brokers mais aussi clients <-> brokers avec le mode SASL_SSL :
SSL pour la couche transport
SASL SCRAM-SHA-256 pour l'authentification et les autorisations
Le dimensionnement peut être configuré en fonction de vos besoins.
Pour plus d'information, veuillez consulter la page Apache Kafka - Architecture.
L'estimation du coût d'un cluster Apache Kafka est accessible via votre Service Delivery Manager.
La facturation est basée sur le nombre de nœuds, plus les coûts supplémentaires de stockage, de sauvegarde et de la surveillance 24/7.
Au moins 6 machines virtuelles Linux seront facturées : 3 brokers Apache Kafka et 3 nœuds contrôleurs Apache Kafka.
Cluster | |
---|---|
Brokers
3+
Contrôleurs
3
CPU (par broker)
2 - 16 vCPU
RAM (par broker)
4 - 384 Go
Version(s) supportée(s)
3.6.0
Protection contre la reprise après sinistre
Disponibilité
99.9%
Déploiement multi-AZ
Pour commencer, rendez-vous sur ITCare et recherchez votre service global cible où vous créerez votre nouveau cluster Apache Kafka.
Recherchez votre service Global dans la barre de recherche supérieure et cliquez dessus pour afficher sa page d'information.
Une fois dans votre Service Global, cliquez sur le bouton Créer une ressource, sélectionnez Apache Kafka et la version requise.
Remplir le formulaire :
Définir le nom du futur cluster
Le nombre de broker (3+)
Le dimensionnement
Le stockage requis sur chaque broker
La localisation cible
Le réseau cible
Les options de gestion (sauvegarde, surveillance, 24/7, réplication site distant)
Cliquer sur Suivant une fois les champs remplis. A l'étape suivante, saisir le mot de passe du compte super user qui sera fourni puis cliquer sur Suivant.
Les mots de passe ne sont pas sauvegardés par cegedim.cloud.
Assurez-vous de sauvegarder votre mot de passe!
Réviser la synthèse avant de soumettre le formulaire.
Le provisionnement peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation.
Une fois le déploiement prêt, vous en serez informé par e-mail.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Démarrer et confirmer.
Le démarrage d'un cluster démarre toutes les machines virtuelles attachées au cluster.
Une notification par courriel sera envoyée lorsque le service sera activé.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Stop.
Saisissez un numéro RFC pour le suivi (facultatif). Cliquez sur Soumettre.
L'arrêt d'un cluster arrêtera toutes les machines virtuelles attachées au cluster et la surveillance sera désactivée.
Une notification par courrier électronique sera envoyée lorsque le cluster sera arrêté.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Redimensionner les nœuds.
Sélectionnez les nœuds que vous souhaitez redimensionner et sélectionnez la nouvelle taille (cpu/ram).
Chaque nœud sera redimensionné et redémarré de manière séquentielle.
Une notification par courriel sera envoyée lorsque tous les nœuds auront été redimensionnés.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Supprimer. Cette action arrêtera et supprimera toutes les machines virtuelles.
Veuillez noter que cette action n'est pas récupérable!
Saisissez un numéro RFC pour le suivi (facultatif), puis cliquez sur Soumettre.
Une notification par courriel sera envoyée lorsque le cluster sera supprimé.
Pour interagir avec votre cluster sécurisé en utilisant les scripts Kafka, vous devez d'abord télécharger l'archive Apache Kafka depuis le site officiel.
Idéalement, vous devriez télécharger la version exacte correspondant à votre cluster.
Une fois dézippé et désarchivé sur votre serveur ou client Linux, vous trouverez les scripts shell Kafka dans le répertoire /bin.
Ces scripts permettent de :
Produire et consommer
Gérer les utilisateurs
Gérer les sujets
ACL de gestion
Gérer les configurations des articles
Ce guide n'entrera pas dans les détails de tous les scripts mais vous aidera à démarrer avec des commandes simples.
Pour se connecter à un cluster Kafka sécurisé, vous devez configurer un keystore et un fichier de propriétés.
Créez le keystore avec le certificat fourni :
Alias : alias du certificat dans le keystore
Import-file: nom du fichier de certificat contenant le certificat fourni
Storepass et keypass : mot de passe pour protéger votre keystore, doivent être identiques
Pour lister le contenu de votre keystore, utilisez cette commande :
Une fois le keystore créé, il vous faut maintenant un fichier de propriétés :
username : le super utilisateur kafka qui vous est fourni par email
mot de passe : le mot de passe de cet utilisateur que vous avez fourni lors du provisionnement.
ssl.truststore.location : l'emplacement de votre keystore précédemment créé
ssl.truststore.password : le mot de passe pour déverrouiller votre keystore (storepass / keypass utilisé)
Avec ces éléments, vous pouvez maintenant utiliser n'importe quel script shell Kafka avec le paramètre suivant :
Kcat est un producteur et consommateur générique non-JVM pour Apache Kafka >=0.8.
La version 1.5.0 et supérieure doit être utilisée pour prendre en charge l'authentification SASL_SSL.
De plus amples informations concernant Kcat sont disponibles sur le site de Confluent :
Veuillez vous référer à cette documentation pour créer un client Kafka dans la langue de votre choix :
Veuillez vous référer à cette documentation pour en savoir plus sur les connecteurs Kafka :
Pour tirer pleinement parti d'Apache Kafka en tant que système distribué, le PaaS Apache Kafka de cegedim.cloud s'assure que les brokers sont dispatchés sur plusieurs Zones de Disponibilité afin de maximiser la résilience et la redondance.
La taille du cluster par défaut comprend 3 brokers répartis sur 3 Zones de Disponibilité en fonction de votre centre de données.
La configuration par défaut garantit également que le facteur de réplication est fixé à 3 pour les topics et que le paramètre minimum in-sync replica soit configuré à deux.
Cette configuration garantit que tous vos topics et messages sont répliqués sur tous les brokers dans toutes les Zones de Disponibilité.
A noter que le provisionnement de plus de 3 brokers rendra les choses plus complexes.
Plus il y a de brokers, plus vous répliquerez vos données. Si vous ne voulez pas répliquer plus de 3 fois, vous devrez gérer quels topics et partitions sont répliqués et où afin de respecter votre DRP par exemple.
Le cluster Apache Kafka est sécurisé par les moyens suivants :
Communications entre brokers sécurisées avec SASL_SSL
Communications entre le client et le broker sécurisées par SASL_SSL
Contrôleurs sécurisé avec des ACLs
Les contrôleurs sont gérés par cegedim.cloud et simplifie votre administration.
Pour se connecter à votre cluster Apache Kafka sécurisé, les éléments suivants seront requis :
Le certificat correspondant
Un utilisateur existant et autorisé avec un mot de passe (SCRAM-SHA-256)
Veuillez vous référer à la page Apache Kafka - Didacticiels pour vous connecter et interagir avec votre cluster Apache Kafka.
Paramètres importants du broker Kafka conservés par défaut :
Voici les paramètres du broker Apache Kafka que cegedim.cloud va modifier lors du provisionnement :
Option
Paramètre | Défaut | Description |
---|---|---|
Paramètre | Valeur | Défaut | Description |
---|---|---|---|
168
Le nombre d'heures à conserver un fichier journal avant de le supprimer.
-1
La taille maximale du journal avant sa suppression : aucune limite.
1073741824 (1 gibyte)
La taille maximale d'un seul fichier journal.
300000 (5 minutes)
La fréquence en millisecondes à laquelle le nettoyeur de journaux vérifie si un journal peut être supprimé.
Faux
Vrai
Active la création automatique de topics sur le serveur.
3
1
Nombre par défaut de partitions de journal par sujet. Un plus grand nombre de partitions permet un plus grand parallélisme pour la consommation, mais entraînera également un plus grand nombre de fichiers dans les brokers.
Dynamique
1
Le facteur de réplication est égal au nombre de brokers participant au cluster. (3 à 5)
2
1
Le nombre minimum de répliquas qui doivent accuser réception d'une écriture pour que celle-ci soit considérée comme réussie pour un producteur qui définit les acks sur "all" (ou "-1").
Dynamique
1
Est égal au nombre de CPU de la machine virtuelle.
2
1
Nombre de threads de récupération utilisés pour répliquer les messages d'un broker source. En l'augmentant, on peut accroître le degré de parallélisme des E/S dans le broker suiveur.