Architectures axées sur les événements, microservices et streaming avec Kafka
Aujourd'hui, le paysage des logiciels est façonné par différents facteurs : des ensembles de données toujours plus importants, une grande disparité géographique, des structures d'entreprise complexes, et la nécessité de réagir vite et efficacement face aux changements.
Outre les approches traditionnelles comme les architectures orientées services (SOA) ou les architectures axées sur les événements (EDA), on voit émerger de nouvelles techniques telles que les microservices, les architectures réactives, les processus DevOps et le traitement de flux. La plupart de ces modèles se suffisent à eux-mêmes, mais nous allons voir qu'ils peuvent être combinés pour offrir une approche plus globale et encore plus efficace.L'objectif de cet e-book est d'expliquer comment une architecture axée sur les événements et des outils de traitement de flux comme Apache Kafka® peuvent vous aider à développer des systèmes clés pour votre entreprise. Nous aborderons les sujets suivants :
- Le fonctionnement d'une architecture axée sur les événements
- Les avantages que présente un tel système : EDA, SOA et architectures réactives
- Pourquoi le streaming réactif est-il plus adapté que les modèles de type requête-réponse pour les cas d'usage modernes les plus complexes ?
- En quoi les logs qui peuvent être relus (comme ceux de Kafka) offrent-ils une base solide pour la communication entre microservices et le partage d'ensembles de données?
- Comment les modèles de collaboration et de sourcing d'événements améliorent-ils la sécurité et la reprise grâce à des programmes fonctionnels, axés sur les événements ?
- Les avantages que présentent les plateformes de streaming de données comme Apache Kafka en matière de traitement d'événements complexes
- Les technologies fondamentales qui sous-tendent les architectures axées sur les services, comme la recherche d'événements, le CQRS et les systèmes distribués
- Comment appliquer des modèles de recherche d'événements et de CQRS, et comment créer des systèmes multi-équipes avec des microservices et des SOA ?
- Comment utiliser des modèles comme les bases de données de type inside out et les flux d'événements en tant que « source unique de vérité »
- Comment développer des écosystèmes de service qui fusionnent des interfaces axées sur les événements et d'autres axées sur les requêtes à l'aide d'un log pouvant être relu et de l'API Streams de Kafka
- Comment mettre en place une architecture à l'échelle d'un service voire de l'entreprise (plutôt qu'à l'échelle des équipes) en utilisant des flux d'événements comme source de vérité ?