Présentation d'Apache Flink :
Apache Flink est un framework et un moteur de traitement distribué pour le traitement avec état sur le calcul de flux de données illimités et limités. Flink fonctionne dans tous les environnements de cluster courants et peut calculer à des vitesses de mémoire et à n'importe quelle échelle.
(Tutoriel recommandé : apache)
Ensuite, présentons les aspects importants de l'architecture Flink.
Gérer des données illimitées et limitées
Tout type de données peut former un flux d'événements. Transactions par carte de crédit, mesures de capteurs, journaux de machines, enregistrements d'interactions utilisateur sur un site Web ou une application mobile, toutes ces données forment un flux.
Les données peuvent être traitées sous forme de flux illimités ou limités.
1. Flux illimité Le début du flux est défini, mais la fin du flux n'est pas définie. Ils génèrent des données sans fin. Les données d'un flux illimité doivent être traitées en continu, c'est-à-dire qu'elles doivent être traitées immédiatement après avoir été ingérées. Nous ne pouvons pas attendre que toutes les données arrivent avant de les traiter car l'entrée est infinie et ne sera jamais terminée à aucun moment. Le traitement de données illimitées nécessite souvent l'ingestion d'événements dans un ordre spécifique, tel que l'ordre dans lequel ils se produisent, pour pouvoir déduire l'exhaustivité des résultats.
2. Flux limité Le début du flux est défini, et la fin du flux est également définie. Les flux limités permettent d'effectuer des calculs une fois que toutes les données ont été ingérées. Toutes les données des flux limités peuvent être triées, l'ingestion ordonnée n'est donc pas nécessaire. Le traitement de flux limité est souvent appelé traitement par lots.
Apache Flink est efficace dans le traitement d'ensembles de données illimités et limités. Un contrôle temporel précis et un état permettent au runtime de Flink d'exécuter n'importe quelle application qui gère des flux illimités. Les flux limités sont traités en interne par des algorithmes et des structures de données spécialement conçus pour des ensembles de données de taille fixe, ce qui permet d'obtenir d'excellentes performances.
Approfondissez votre compréhension en explorant des cas d'utilisation construits sur Flink.
Déployez des applications n'importe où
Apache Flink est un système distribué qui nécessite des ressources informatiques pour exécuter des applications. Flink s'intègre à tous les gestionnaires de ressources de cluster courants, tels que Hadoop YARN, Apache Mesos et Kubernetes, mais peut également fonctionner en tant que cluster autonome.
Flink est conçu pour bien fonctionner avec chacun des gestionnaires de ressources ci-dessus, ce qui est réalisé grâce à un mode de déploiement spécifique au gestionnaire de ressources. Flink peut interagir avec le gestionnaire de ressources actuel d'une manière qui lui convient.
Lorsque vous déployez une application Flink, Flink identifie automatiquement les ressources requises en fonction du parallélisme configuré de l'application et demande ces ressources au gestionnaire de ressources. En cas de panne, Flink remplace le conteneur défaillant en demandant de nouvelles ressources. Toutes les communications pour soumettre ou contrôler l'application s'effectuent via des appels REST, ce qui simplifie l'intégration de Flink dans divers environnements.
Exécutez des applications à n'importe quelle échelle
Flink est conçu pour exécuter des applications de streaming avec état à n'importe quelle échelle. Par conséquent, l’application est potentiellement parallélisée en milliers de tâches réparties sur le cluster et exécutées simultanément. Ainsi, les applications peuvent tirer parti d’une infinité d’E/S CPU, mémoire, disque et réseau. Et Flink facilite la gestion d’un état d’application très volumineux. Son algorithme de point de contrôle asynchrone et incrémentiel a un impact minimal sur la latence de traitement tout en garantissant une cohérence d'état exacte une fois.
Les utilisateurs de Flink ont signalé des chiffres d'évolutivité impressionnants dans leurs environnements de production.
Traitement de milliards d'événements par jour, applications conservant un état de plusieurs téraoctets et applications exécutées sur des données exécutées sur des milliers de cœurs.
Tirer parti des performances de la mémoire
Les programmes Stateful Flink sont optimisés pour l'accès à l'État local. L'état d'une tâche est toujours conservé en mémoire ou, si la taille de l'état dépasse la mémoire disponible, est enregistré dans une structure de données sur disque accessible efficacement. Les tâches effectuent tous les calculs en accédant à l'état local (généralement en mémoire), ce qui entraîne une très faible latence de traitement. Flink garantit une cohérence d'état exacte une fois dans les scénarios de défaillance en conservant régulièrement et de manière asynchrone le stockage d'état local.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!