À propos du projet

KEFCore fournit un fournisseur Entity Framework Core pour Apache Kafka, permettant aux applications .NET de tirer parti des topics Kafka comme espace de stockage. Il s'intègre parfaitement au modèle de programmation EF Core standard, incluant `DbContext`, les requêtes LINQ et les entités fortement typées. Les développeurs peuvent remplacer le backend de données de leur application, passant de bases de données relationnelles traditionnelles à Apache Kafka, en modifiant une seule ligne dans la configuration de leur `DbContext`, éliminant ainsi le besoin de code consommateur ou producteur spécifique à Kafka. Le projet s'appuie sur les fonctionnalités côté client de KNet, qui utilisent directement les packages client Java officiels d'Apache Kafka via JCOBridge. Cette architecture garantit la compatibilité avec tout broker implémentant le protocole filaire Kafka, comme Redpanda, Amazon MSK, Confluent Platform et d'autres. KEFCore prend en charge différents formats de sérialisation, dont JSON, Avro et Protobuf, via des packages NuGet dédiés. Il maintient sa compatibilité entre les différentes versions d'Apache Kafka, de .NET et de la JVM. JCOBridge, la technologie sous-jacente, permet à la JVM et au CLR (ou CoreCLR) de s'exécuter dans le même processus tout en restant isolés, offrant un accès direct et sécurisé aux fonctionnalités de la JVM depuis toute application .NET. Cette approche garantit que les applications .NET héritent des niveaux de cybersécurité de la JVM et d'Apache Kafka en cours d'exécution, et permet de gérer directement toute classe Java/Scala sous-jacente à Apache Kafka sans avoir à apprendre de nouvelles API. KEFCore est un projet open source piloté par le groupe MASES, proposant des formules de support communautaire et commercial. La documentation couvre des aspects tels que le démarrage, son fonctionnement, les backends pris en charge, l'utilisation, la sérialisation, les migrations de schéma, les conseils de performance et le dépannage.