Présentation de Streaming avec Apache Kafka
Oracle Cloud Infrastructure (OCI) Streaming with Apache Kafka est un service OCI entièrement géré qui vous permet de créer et d'exécuter des clusters Kafka dans une location OCI avec toutes les fonctionnalités d'Apache Kafka.
Apache Kafka est une plate-forme open source de diffusion en continu d'événements utilisée pour créer des applications de diffusion en continu de données en temps réel. A l'aide d'Apache Kafka, vous pouvez :
- Ecrire et lire des flux d'événements
- Stocker les flux d'événements
- Traiter les flux d'événements en temps réel ou ultérieurement
Avec Streaming avec Apache Kafka, vous bénéficiez de toutes les fonctionnalités d'Apache Kafka sans la surcharge liée au provisionnement et à la gestion de l'infrastructure sous-jacente.
Fonctionnalités
La diffusion en continu avec Apache Kafka s'appuie sur les fonctionnalités suivantes :
- Entièrement géré
- La diffusion en continu avec Apache Kafka est entièrement gérée et automatise des activités telles que l'application de patches, les mises à niveau, les sauvegardes, la haute disponibilité, la réplication inter-région, la mise à l'échelle et la gestion des performances.
- Durabilité et Disponibilité
- Chaque cluster est configuré avec une haute disponibilité et une redondance de stockage entre les domaines de disponibilité ou les domaines de pannes. Vous pouvez soit créer un cluster avec un broker unique pour les locations de développement ou de test, soit créer un cluster avec au moins 3 brokers pour les locations de production afin de fournir une haute disponibilité.
- Compatibilité d'Apache Kafka
- La diffusion en continu avec Apache Kafka est 100 % compatible avec les API Apache Kafka, ce qui vous permet d'utiliser des applications écrites pour Apache Kafka sans réécrire le code.
- Services OCI intégrés
-
- Utiliser OCI Vault pour stocker et gérer en toute sécurité les informations d'identification de superutilisateur
- Utiliser OCI Monitoring pour les mesures de cluster
- Utiliser OCI Logging pour les journaux au niveau du cluster
Cas d'emploi
Utilisez Streaming avec Apache Kafka dans les scénarios suivants :
- Capture de données de modification
- La capture des données de modification (CDC) est un style de conception d'application dans lequel les modifications apportées à l'état de l'application sont consignées sous la forme d'une séquence d'enregistrements ordonnée dans le temps. OCI Streaming avec la prise en charge d'Apache Kafka pour le stockage de données de journal à l'échelle du cloud en fait un excellent back-end pour une application intégrée dans ce style. Vous pouvez déployer n'importe quel connecteur Kafka open source, ou Oracle Golden Gate, dans une machine virtuelle, qui interroge les bases de données source sur les données nouvelles ou modifiées en fonction d'une colonne d'horodatage de mise à jour et diffuse facilement les données dans OCI Streaming avec Apache Kafka. Par exemple, les entreprises de commerce électronique utilisent CDC avec Kafka pour suivre les mises à jour des commandes dans leur base de données afin de lancer le traitement des commandes et d'autres microservices d'exécution des commandes.
- Assimilation des mesures et des journaux
- Utilisez OCI Streaming avec Apache Kafka comme mesure ou processeur de journal de diverses sources. Les outils d'ingestion de journaux tels que Fluentd, Logstash ou l'API Kafka Producer peuvent collecter des journaux à partir de différentes applications et les placer dans les rubriques Kafka pour l'enrichissement et l'agrégation des données. Grâce aux API Apache Kafka, vous pouvez enrichir les données en résumant les détails des journaux et en les envoyant à des outils d'analyse en aval pour un traitement ultérieur et des fonctionnalités avancées de recherche de journaux.
- Analyse en direct
- Utilisez OCI Streaming avec Apache Kafka pour traiter et analyser des flux continus de données provenant d'appareils IOT ou d'autres applications en amont afin d'obtenir des informations en temps réel, de détecter les anomalies et d'effectuer des analyses prédictives. Par exemple, les institutions financières utilisent le service pour traiter les flux de données du marché, détecter les anomalies de négociation et prendre des décisions de négociation en temps réel. Les détaillants analysent le comportement et les préférences des clients en temps réel pour proposer des recommandations et des promotions personnalisées.
- Assimilation des données d'activité Web et mobiles
- Utilisez OCI Streaming avec Apache Kafka pour reconstruire un pipeline de suivi d'activité utilisateur en tant qu'ensemble de flux de publication-abonnement en temps réel. Ces flux sont disponibles par abonnement pour différents cas d'utilisation, notamment le traitement en temps réel, la surveillance en temps réel et le chargement dans des systèmes d'entreposage de données Hadoop ou hors ligne pour le traitement et le reporting hors ligne. Vous pouvez utiliser cette solution pour les utilisations suivantes :
- Clickstream : Les cas d'utilisation de Clickstream impliquent la collecte de données d'activité du site Web auprès de plusieurs producteurs, et l'analyse des données en temps réel pour fournir des recommandations, telles que les produits à acheter, les articles de presse à lire et les vidéos à regarder.
- Analyse des jeux : les sociétés de jeux surveillent constamment le décalage du réseau, le comportement des utilisateurs et les activités dans le jeu afin d'offrir aux clients des microtransactions dans le jeu, de rééquilibrer la charge réseau, de modifier les paramètres du moteur de rendu, etc. Toutes ces actions se produisent en temps réel, de l'ordre de quelques millisecondes à quelques secondes.
- Messagerie
- Utilisez OCI Streaming avec Apache Kafka pour découpler les composants des systèmes de grande taille. Par exemple, les émetteurs et destinataires peuvent utiliser OCI Streaming avec Apache Kafka comme un bus de message asynchrone et agir de manière indépendante et à leur propre rythme.
Quand utiliser OCI Streaming avec Apache Kafka et OCI Streaming
Consultez les détails d'OCI Streaming avec Apache Kafka et OCI Streaming pour trouver la meilleure solution pour vos besoins en matière de streaming.
| OCI Streaming | OCI Streamming avec Apache Kafka |
|---|---|
| Recommandé en tant que bus de messagerie pour la communication entre applications. Idéal pour les charges de travail de petite à moyenne taille avec moins de 500 partitions par région et par location. | Recommandé pour le stockage de données distribué et le traitement de données en temps réel, y compris le CDC, l'analyse de flux et le traitement des données IOT, sans limite sur le nombre de partitions. |
| Géré et sans serveur | Géré, mais pas sans serveur |
| Compatibilité partielle avec Apache Kafka | 100 % compatible avec Apache Kafka |
| Latence des performances : environ 200 ms en moyenne, lorsque le cluster est réglé correctement. | Latence des performances inférieure à 100 ms, lorsque le cluster est réglé correctement. |
| Multilocataire : un cluster unique contient plusieurs locations client. | Locataire unique : chaque cluster est dédié à une seule location. |
| Authentification et autorisation à l'aide d'IAM | Authentification par mTLS ou SASL/SCRAM et autorisation par ACL. |
| Limite souple 15 et limite rigide 500 sur les partitions | Aucune limite |
| Conservation du stockage 7 jours | Aucune limite |
| Aucune limite de taille de stockage | Limite de taille de stockage de 16 To par broker |
| Débit d'écriture par partition 1 Mo par seconde et débit de lecture par partition 2 Mo par seconde. | Débit ~ 10 Mo par seconde. Dans Apache Kafka, le débit par défaut par partition n'est pas une limite fixe et stricte, mais une combinaison de facteurs. Il est estimé à environ 10 Mo par seconde et par partition. Le débit maximal par partition dépend de l'infrastructure et des configurations sous-jacentes, telles que la taille de batch, le codec de compression, le facteur de réplication et le type d'accusé de réception. |
| Taille maximale des messages 1 Mo | La taille de message maximale par défaut est définie sur 1 Mo pour aider les brokers à gérer efficacement la mémoire. Il peut être modifié dans la configuration de cluster. Aucune limite sur la taille maximale, mais les messages très volumineux ne sont pas recommandés et considérés comme inefficaces et anti-modèles dans Apache Kafka. |
| Redimensionnement non pris en charge | Faites évoluer le nombre de brokers jusqu'à 30 par cluster et le nombre d'OCPU jusqu'à la valeur maximale définie par les formes de calcul. |
| 50 groupes de destinataires par sujet | Aucune limite, mais plus les groupes de consommateurs de ressources sont nombreux, plus l'utilisation du réseau est importante. |
| Fonctionnalités compactées, production idempotente, transaction, API de flux non disponible. | Fonctionnalités traitées, production idempotente, transaction, API de flux prises en charge. |
| Métriques de faible cardinalité limitées disponibles | Métriques de haute cardinalité disponibles |
Identificateurs de ressource
Streaming avec Apache Kafka prend en charge les clusters et les demandes de travail en tant que ressources Oracle Cloud Infrastructure. La plupart des types de ressource possèdent un identificateur unique affecté par Oracle appelé ID Oracle Cloud (OCID). Pour plus d'informations sur le format OCID et les autres moyens d'identifier les ressources, reportez-vous à Identificateurs de ressource.
Régions et domaines de disponibilité
Oracle héberge ses services OCI dans les région et domaine de disponibilité. Une région est une zone géographique précise, tandis qu'un domaine De disponibilité désigne un ou plusieurs datacenters situés dans une région. Le streaming avec Apache Kafka est hébergé dans toutes les régions du domaine OC1.
Authentification et autorisation
Chaque service d'Oracle Cloud Infrastructure s'intègre à IAM pour l'authentification et l'autorisation, sur toutes les interfaces (consolekit SDK ou interface de ligne de commande, et API REST).
Un administrateur de votre organisation doit configurer des groupes , des compartiments et des stratégies qui déterminent les services et les ressources auxquels les utilisateurs peuvent accéder, ainsi que le type d'accès. Par exemple, les stratégies indiquent qui peut créer les utilisateurs, créer et gérer le réseau cloud, créer les instances, créer les buckets, télécharger les objets, etc. Pour plus d'informations, reportez-vous à Introduction aux stratégies.
Méthodes d'accès à Streaming avec Apache Kafka
Pour accéder à Oracle Cloud Infrastructure (OCI), vous pouvez utiliser la console (interface basée sur un navigateur), l'API REST ou l'interface de ligne de commandeOCI. Les instructions d'utilisation de la console, de l'API et de la CLI sont incluses dans les rubriques du présent document. Pour obtenir la liste des kits SDK disponibles, reportez-vous à Kits de développement logiciel et interface de ligne de commande.
Console : pour accéder à Streaming avec Apache Kafka à l'aide de la console, vous devez utiliser un navigateur pris en charge. Pour accéder à la page d'ouverture de session à la console, ouvrez le menu d'accès en haut de cette page et sélectionnez Console Infrastructure. Vous êtes invité à saisir votre locataire cloud, votre nom utilisateur et votre mot de passe.
API : pour accéder à Streaming avec Apache Kafka via des API, la documentation relative à l'API REST fournit le plus de fonctionnalités, mais nécessite une expertise en programmation. Les adresses et référence d'API fournissent des détails sur les points d'extrémité et des liens vers les documents d'API disponibles, y compris l'API Streaming with Apache Kafka. Le streaming avec l'API Apache Kafka vous permet de créer et de gérer les clusters Kafka et les fichiers de configuration. Utilisez les API Apache Kafka pour les opérations client.
CLI : l'interface de ligne de commande OCI vous permet de créer et de gérer les clusters Kafka et les fichiers de configuration. Utilisez les interfaces de ligne de commande Apache Kafka pour les opérations client. Utilisez l'environnement Cloud Shell pour exécuter les interfaces de ligne de commande.




