Aperçu du service de diffusion en continu
Le service de diffusion en continu pour Oracle Cloud Infrastructure fournit une solution durable, entièrement gérée et évolutive pour l'ingestion et la consommation de flux de données volumineux en temps réel. Utilisez le service de diffusion en continu pour tout cas d'utilisation où les données sont produites et traitées en continu et séquentiellement dans un modèle de messagerie de type publication-abonnement.
Vous pouvez utiliser le service de diffusion en continu pour :
- Messagerie
- Utilisez le service de diffusion en continu pour découpler les composants des systèmes de grande envergure. Les producteurs et les consommateurs peuvent utiliser le service de diffusion en continu comme bus de messages asynchrone et agir de manière indépendante et à leur propre rythme.
- Ingestion des mesures et journaux
- Utilisez le service de diffusion en continu comme alternative aux approches traditionnelles de balayage de fichiers pour rendre les données opérationnelles critiques disponibles plus rapidement à des fins d'indexation, d'analyse et de visualisation.
- Ingestion de données d'activité Web ou mobile
- Utilisez le service de diffusion en continu pour saisir l'activité de sites Web ou d'applications mobiles, telles que les vues de page, les recherches ou d'autres actions d'utilisateur. Vous pouvez utiliser ces informations dans des systèmes d'analyse ou de surveillance en temps réel, ou dans un entrepôt de données, pour un traitement hors ligne et la production de rapports.
- Traitement des événements liés à l'infrastructure et aux applications
- Utilisez le service de diffusion en continu comme point d'entrée unifié des composants en nuage afin de signaler les événements de cycle de vie pour les activités de vérification, de comptabilisation et connexes.
Caractéristiques du service de diffusion en continu
Le service de diffusion en continu offre les caractéristiques suivantes :
- Entièrement géré
- Le service de diffusion en continu est entièrement géré, qu'il s'agisse de l'infrastructure sous-jacente, du provisionnement, du déploiement, de la maintenance, de l'application des correctifs de sécurité ou de la réplication. L'intégration au service de surveillance et aux mesures par défaut facilite les opérations.
Oracle gère les partitions de flux et les groupes de consommateurs peuvent gérer les décalages de messages.
- Durabilité et disponibilité
- Les messages publiés pour le service de diffusion en continu sont répliqués de manière synchrone sur trois domaines de disponibilité lorsqu'ils sont disponibles. Dans les régions ayant un seul domaine de disponibilité, les données sont répliquées sur plusieurs domaines d'erreur. Ainsi, même la défaillance d'un domaine de disponibilité ou d'un domaine d'erreur n'entraîne pas de perte de données. Il en résulte des données hautement durables.
Oracle Cloud Infrastructure fournit un contrat de niveau de service pour le service de diffusion en continu. Pour plus de détails, consultez la page Contrat de niveau de service pour Oracle Cloud Infrastructure.
- Sécurité
-
Les données du service de diffusion en continu sont chiffrées au repos et en transit afin d'assurer l'intégrité des messages. Vous pouvez laisser Oracle gérer le chiffrement ou utiliser le service de chambre forte pour Oracle Cloud Infrastructure pour stocker et gérer en toute sécurité vos propres clés de chiffrement si vous devez respecter des normes de conformité ou de sécurité spécifiques.
L'intégration au service Gestion des identités et des accès pour Oracle Cloud Infrastructure (GIA) vous permet de contrôler les personnes et les services qui peuvent accéder aux clés et ce qu'ils peuvent faire avec ces ressources.
Les points d'extrémité privés limitent l'accès à un réseau en nuage virtuel (VCN) spécifié dans votre location afin que ses flux ne puissent pas être accessibles par Internet.
Pour plus d'informations, voir Meilleures pratiques de sécurité pour le service de diffusion en continu.
- Traitement de flux
- L'intégration du service de flux à Oracle Cloud Infrastructure Connector Hub signifie que vous pouvez désigner un flux comme source de données, utiliser Oracle Cloud Infrastructure Functions pour transformer les messages du flux et sortir les messages transformés vers le service Stockage d'objets ou toute autre cible du centre de connecteurs prise en charge tout en conservant les garanties de commande du service de flux.
- Compatibilité Kafka
- Le service de diffusion en continu permet de décharger la configuration, la maintenance et la gestion de l'infrastructure qui héberge votre propre grappe Apache Kafka requise.
Le service de flux est compatible avec la plupart des API Kafka, ce qui vous permet d'utiliser des applications écrites pour Kafka pour envoyer des messages au service de flux et en recevoir sans avoir à réécrire votre code. Pour plus d'informations, voir Utilisation des API Kafka.
Le service de flux utilise également l'écosystème Kafka Connect pour s'interfacer directement avec les produits de première partie et de tierce partie à l'aide de connecteurs Kafka source et récepteur prêts à l'emploi. Pour plus d'informations, voir Utilisation de Kafka Connect.
Fonctionnement du service de diffusion en continu
Fonctionnement du service de diffusion en continu :
Un producteur publie des messages dans un flux, qui est un journal permettant seulement les ajouts. Ces messages sont répartis entre des partitions gérées par Oracle à des fins d'évolutivité.
Les partitions permettent de répartir un flux en distribuant les messages entre plusieurs noeuds (ou courtiers). Chaque partition peut être placée sur une machine distincte pour permettre à plusieurs consommateurs de lire un flux en parallèle.
Un consommateur lit les messages d'une ou de plusieurs partitions. Les consommateurs peuvent lire à partir de toute partition, quel que soit son emplacement. Chaque message d'un flux est marqué avec une valeur de décalage, de sorte qu'un consommateur peut le reprendre là où il s'est arrêté s'il est interrompu. Les messages d'une partition sont garantis comme livrés dans l'ordre dans lequel ils ont été produits.
Pour plus d'informations, voir :
Concepts relatifs à la diffusion en continu
Les concepts suivants sont essentiels à la compréhension et à l'utilisation du service de diffusion en continu.
- flux
- Journal de messages, partitionné et autorisant seulement les ajouts
- groupe de flux
-
Regroupement que vous pouvez utiliser pour organiser et gérer des flux, y compris tous les paramètres Kafka ou de sécurité partagés.
- partition
- Section d'un flux. Les partitions permettent de répartir un flux en distribuant les messages entre plusieurs noeuds. Cela permet également à plusieurs consommateurs de lire un flux en parallèle.
- curseur
-
Pointeur vers un emplacement dans un flux. Cet emplacement peut être un pointeur vers un décalage ou un moment particulier dans une partition, ou vers l'emplacement courant d'un groupe.
- message
- Message codé en Base64 publié dans un flux. Le service de diffusion en continu est indépendant du schéma et accepte tout format de message, notamment les formats XML, JSON, CSV et même les formats compressés, tels que gzip. Les producteurs et les consommateurs doivent convenir du format des messages.
- producteur
- Entité qui publie des messages dans un flux.
- consommateur
- Entité qui lit les messages d'un ou de plusieurs flux.
- groupe de consommateurs
- Jeu d'instances qui se coordonnent pour consommer des messages à partir de toutes les partitions dans un flux. À un moment donné, les messages d'une partition spécifique ne peuvent être consommés que par un seul consommateur du groupe.
- instance
- Membre d'un groupe de consommateurs. Les instances sont définies lors de la création d'un curseur de groupe. L'appartenance à un groupe est gérée par interaction; l'absence d'interaction entraîne une temporisation, ce qui supprime l'instance du groupe de consommateurs.
- clé
- Identificateur utilisé pour regrouper les messages connexes.
- décalage
- Emplacement d'un message dans une partition. Chaque message dans la partition est identifié par son décalage. Les consommateurs peuvent lire les messages en commençant par un décalage choisi. Vous pouvez utiliser le décalage pour relancer la lecture à partir d'un flux en cas d'interruption.
Avantages des flux
Les flux présentent plusieurs avantages par rapport aux files d'attente de messagerie traditionnelles, notamment :
- Persistance de message configurable
- Vous contrôlez la durée de conservation des données. Les messages d'un flux ne sont pas mutables et sont disponibles pendant toute la durée de conservation configurée du flux.
- Réexécution
- Comme les messages d'un flux ne sont pas supprimés immédiatement lorsqu'ils sont traités par des consommateurs, vous pouvez réexécuter tous les messages du flux à tout moment dans la limite de conservation configurée.
- Garanties de livraison de message
- Chaque message est livré au moins une fois. Dans certains cas, comme l'échec de la validation des messages par un consommateur avant la mise hors ligne, les messages peuvent être transmis plusieurs fois.
- Garanties d'ordre
- Les messages d'un flux, par partition, sont toujours livrés dans l'ordre dans lequel ils ont été produits.
- Curseurs côté client
- Vos applications clientes contrôlent et suivent les messages qui sont lus et peuvent déplacer le curseur selon les besoins pour une flexibilité maximale.
- Ajustement horizontal
- Les partitions permettent d'augmenter le débit pour répondre aux besoins de plusieurs consommateurs, d'où une plus grande flexibilité.
- Groupes de consommateurs
- Les groupes de consommateurs gèrent toute la coordination requise pour transmettre des messages à plusieurs consommateurs de manière équilibrée. Cette gestion étant assurée par un groupe de consommateurs au nom de tous les membres, vous pouvez bénéficier d'une réduction des frais généraux et d'une facilité opérationnelle.