Apache Kafka a été conçu dès le départ comme un puissant système d’écriture et de lecture. En association avec les API que nous avons énumérées, la grande souplesse, l’extrême adaptabilité et sa tolérance aux erreurs, ce logiciel open source est une option intéressante pour toutes sortes d’application. De ce fait, Apache Kafka est particulièrement adapté aux domaines suivants :
- Publier et s’abonner à des flux de données : le projet open source à l’origine d’Apache Kafka consistait à développer un système de messagerie. Même après l’extension du logiciel, celui-ci reste un excellent outil de transfert de messages au moyen de files d’attentes, mais il convient également à l’émission de messages.
- Traiter des flux de données : les applications devant réagir en temps réel à des événements spécifiques doivent pouvoir traiter des flux de données le plus vite et le plus efficacement possible. Grâce à l’API-Stream, Apache Kafka est une solution qui répond à ces besoins.
- Enregistrer des flux de données : Apache Kafka peut également servir de système de fichiers distribué. Que les fichiers que vous souhaitez enregistrer sur le ou les serveurs pèsent 50 kilooctets ou 50 téraoctets n’a aucune importance.
Tous ces éléments que nous venons d’énumérer peuvent bien sûr être combinés, ce qui permet par exemple d’utiliser Apache Kafka comme une plateforme de streaming plus complexe pour stocker des données, les rendre disponibles, mais aussi les traiter en temps réel et les associer avec toutes sortes d’applications et de systèmes.
Quelques exemples d’utilisations classiques d’Apache Kafka :
- Système de messagerie
- Web-Analytics
- Système de stockage
- Processeur de stream
- Event Sourcing
- Gestion et analyse de fichiers logs
- Solutions de monitoring
- Log de transactions