Présentation de Streaming

Le service Oracle Cloud Infrastructure Streaming offre une solution évolutive et durable entièrement gérée permettant d'inclure et d'utiliser des flux de données volumineux en temps réel. Utilisez Streaming pour tout cas d'emploi dans lequel des données sont produites et traitées de manière continue et séquentielle suivant un modèle d'échange de messages de type publication-abonnement.

Vous pouvez utiliser Streaming pour les opérations suivantes :

Messagerie
Utilisez Streaming pour découpler les composants des systèmes volumineux. Les émetteurs et les destinataires peuvent utiliser Streaming comme un bus de messages asynchrones et agir de manière indépendante et à leur propre rythme.
Inclusion des mesures et des journaux
Plutôt qu'une approche standard d'inspection superficielle des fichiers, utilisez Streaming afin que les données opérationnelles fondamentales soient plus rapidement disponibles pour indexation, analyse et visualisation.
Inclusion des données d'activité Web ou mobiles
Utilisez Streaming pour capturer l'activité des sites Web ou des applications mobiles, par exemple les vues de page, les recherches ou d'autres actions effectuées par les utilisateurs. Vous pouvez utiliser ces informations pour l'analyse et la surveillance en temps réel, et dans les systèmes d'entreposage de données, pour la génération de rapports et le traitement hors ligne.
Traitement des événements d'application et d'infrastructure
Utilisez Streaming comme point d'entrée unifié permettant aux composants cloud de rendre compte de leurs événements de cycle de vie en vue des activités d'audit, de comptabilité et d'autres activités associées.

Caractéristiques de Streaming

Streaming présente les caractéristiques suivantes :

Entièrement géré
Streaming est entièrement géré, qu'il s'agisse de l'infrastructure sous-jacente, du provisionnement, du déploiement, de la maintenance, des patches de sécurité ou de la réplication. L'intégration à Monitoring et les mesures par défaut facilitent les opérations.

Oracle gère les partitions de flux de données et les groupes de destinataires peuvent s'occuper des positions de message.

Durabilité et disponibilité
Les messages publiés vers le service Streaming sont répliqués de façon synchrone dans trois domaines de disponibilité (s'ils existent). Dans les régions comportant un seul domaine de disponibilité, les données sont répliquées dans plusieurs domaines de pannes. Ainsi, même la défaillance d'un domaine de disponibilité ou d'un domaine de pannes 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 Streaming. Pour plus de détails, reportez-vous à la page Contrat de niveau de service Oracle Cloud Infrastructure.

Sécurité

Les données de Streaming sont cryptées, qu'elles soient au repos ou en transit, ce qui garantit l'intégrité des messages. Vous pouvez laisser Oracle gérer le cryptage ou utiliser le service Oracle Cloud Infrastructure Vault pour stocker et gérer en toute sécurité vos propres clés de cryptage si vous devez respecter des normes de conformité ou de sécurité spécifiques.

L'intégration à Oracle Cloud Infrastructure Identity and Access Management (IAM) vous permet de contrôler les personnes et les services pouvant accéder aux différentes clés et ce qu'ils peuvent faire avec ces ressources.

Les adresses privées restreignent l'accès à un réseau cloud virtuel spécifié de la location de sorte que ses flux de données ne soient pas accessibles via Internet.

Pour plus d'informations, reportez-vous à Meilleures pratiques relatives à la sécurité pour Streaming.

Traitement de flux
L'intégration de Streaming à Oracle Cloud Infrastructure Connector Hub signifie que vous pouvez désigner un flux de données en tant que source de données, utiliser Oracle Cloud Infrastructure Functions pour transformer les messages du flux et générer les messages transformés dans Object Storage ou toute autre cible Connector Hub prise en charge tout en conservant les garanties d'ordre de Streaming.
Compatibilité Kafka
Streaming permet de se décharger des opérations de configuration, de maintenance et de gestion de l'infrastructure exigées par l'hébergement de votre propre cluster Apache Kafka.

Streaming est compatible avec la plupart des API Kafka, ce qui vous permet d'utiliser des applications écrites pour Kafka afin d'envoyer des messages vers le service Streaming et d'en recevoir sans avoir à réécrire votre code. Pour plus d'informations, reportez-vous à Utilisation des API Kafka.

Streaming tire également parti de l'écosystème Kafka Connect pour interagir directement avec des produits internes et tiers à l'aide des connecteurs de récepteur et source Kafka prêts à l'emploi. Pour plus d'informations, reportez-vous à Utilisation de Kafka Connect.

Fonctionnement de Streaming

Voici comment Streaming fonctionne :

Un émetteur publie des messages dans un flux, qui est un journal d'ajout uniquement. Ces messages sont distribués entre des partitions gérées par Oracle à des fins d'évolutivité.

Les partitions permettent de distribuer un flux en fractionnant les messages entre plusieurs noeuds (ou brokers). Chaque partition peut être placée sur un ordinateur distinct, ce qui permet à plusieurs destinataires de lire un flux en parallèle.

Un destinataire lit des messages à partir d'au moins une partition. Les destinataires peuvent accéder en lecture à n'importe quelle partition, où qu'elle soit hébergée. Chaque message dans un flux est marqué par une valeur de position, afin que le destinataire puisse reprendre là où il en était en cas d'interruption. Les messages d'une partition sont garantis d'être distribués dans l'ordre dans lequel ils ont été produits.

Les destinataires peuvent lire les messages explicitement en fournissant la partition et la position, ou en tant que membres d'un groupe de destinataires, qui coordonne l'utilisation de l'intégralité d'un flux de données par ses membres.
Remarque

Regardez une présentation vidéo du service Streaming.

Pour plus d'informations, reportez-vous à :

Concepts du service Streaming

Les concepts suivants sont essentiels pour comprendre et utiliser le service Streaming.

flux de données
Journal partitionné ajouté à la fin uniquement des messages
pool de flux de données

Regroupement que vous pouvez utiliser pour organiser et gérer les flux de données, y compris les paramètres de sécurité ou Kafka partagés.

partition
Section d'un flux de données. Les partitions permettent de distribuer un flux en fractionnant les messages sur plusieurs noeuds. Elles permettent également à plusieurs destinataires de lire un flux en parallèle.
curseur

Pointeur vers un emplacement dans un flux. Cet emplacement peut être un pointeur vers une position ou une heure spécifique dans une partition, ou vers l'emplacement en cours d'un groupe.

message
Message encodé au format Base64 publié dans un flux. Streaming est indépendant du schéma et accepte tout format de message, y compris les formats XML, JSON, CSV et même compressés, tels que GZIP. Les émetteurs et les destinataires doivent s'entendre sur le format du message.
émetteur
Entité qui publie des messages dans un flux.
destinataire
Entité qui lit les messages provenant des flux.
groupe de destinataires
Ensemble d'instances qui coordonnent l'utilisation des messages de toutes les partitions d'un flux. A tout moment, les messages d'une partition spécifique ne peuvent être utilisés que par un seul destinataire du groupe.
instance
Membre d'un groupe de destinataires. Les instances sont définies lors de la création d'un curseur de groupe. L'appartenance à un groupe est gérée via l'interaction. L'absence d'interaction entraîne l'expiration, ce qui enlève l'instance du groupe de destinataires.
clé
Identificateur utilisé pour regrouper des messages associés.
position
Emplacement d'un message dans une partition. Chaque message de la partition est identifié par sa position. Les destinataires peuvent lire les messages à partir de n'importe quelle position choisie. Vous pouvez utiliser la position pour reprendre la lecture à partir d'un flux en cas d'interruption.

Avantages des flux de données

Les flux de données présentent plusieurs avantages par rapport aux files d'attente de messagerie traditionnelles, notamment les suivants :

Persistance des messages configurable
Vous contrôlez la durée de conservation des données. Les messages d'un flux de données ne sont pas mutables. Ils sont disponibles pendant toute la durée de conservation configurée pour le flux.
Réexécution
Etant donné que les messages d'un flux ne sont pas immédiatement enlevés lorsqu'ils sont traités par des destinataires, vous pouvez les réexécuter à tout moment dans la limite de conservation configurée.
Garanties relatives aux messages
Chaque message est garanti d'être distribué au moins une fois. Dans certains cas, par exemple si un destinataire ne valide pas des messages avant de passer hors ligne, ceux-ci peuvent être distribués plusieurs fois.
Garanties relatives à l'ordre
Les messages d'un flux de données, par partition, sont toujours distribués dans l'ordre dans lequel ils ont été produits.
Curseurs côté client
Vos applications client contrôlent et suivent les messages lus et peuvent déplacer le curseur si nécessaire pour une flexibilité maximale.
Redimensionnement horizontal
Les partitions permettent d'augmenter le débit afin de répondre aux besoins de plusieurs destinataires, ce qui augmente la flexibilité.
Groupes de destinataires
Les groupes de destinataires gèrent toute la coordination nécessaire pour distribuer les messages à plusieurs destinataires de manière équilibrée. Etant donné que cette gestion est assurée par un groupe de destinataires pour le compte de tous les membres, vous pouvez bénéficier d'une surcharge moindre et d'une certaine facilité opérationnelle.