Об этом проекте

KEFCore предоставляет провайдер Entity Framework Core для Apache Kafka, позволяя .NET-приложениям использовать темы Kafka в качестве хранилища данных. Он бесшовно интегрируется со стандартной моделью программирования EF Core, включая `DbContext`, LINQ-запросы и типобезопасные сущности. Разработчики могут переключить бэкенд приложения с традиционных реляционных баз данных на Apache Kafka, изменив одну строку в конфигурации `DbContext`, что исключает необходимость писать код потребителя или производителя Kafka. Проект построен на основе функций KNet — клиентской библиотеки, которая напрямую использует официальные Java-пакеты клиента Apache Kafka через JCOBridge. Такая архитектура обеспечивает совместимость с любым брокером, поддерживающим протокол Kafka, таким как Redpanda, Amazon MSK, Confluent Platform и другими. KEFCore поддерживает различные форматы сериализации, включая JSON, Avro и Protobuf, через отдельные NuGet-пакеты. Обеспечивается совместимость с различными версиями Apache Kafka, .NET и JVM. JCOBridge — базовая технология, которая позволяет JVM и CLR (или CoreCLR) выполняться в одном процессе, оставаясь при этом изолированными, что обеспечивает прямой и безопасный доступ к функциональности JVM из любого .NET-приложения. Такой подход гарантирует, что .NET-приложения наследуют уровень кибербезопасности работающей JVM и Apache Kafka, а также позволяет напрямую управлять любыми Java/Scala-классами за Apache Kafka без необходимости изучения новых API. KEFCore — проект с открытым исходным кодом, курируемый MASES Group, предлагающий поддержку сообщества и коммерческие планы поддержки. Документация охватывает такие аспекты, как начало работы, принцип действия, поддерживаемые бэкенды, использование, сериализацию, миграцию схемы, советы по производительности и устранение неполадок.