프로젝트 소개

KEFCore는 Apache Kafka를 위한 Entity Framework Core 프로바이더를 제공하여 .NET 애플리케이션이 Kafka 토픽을 데이터 저장소로 활용할 수 있도록 합니다. `DbContext`, LINQ 쿼리, 강력한 형식의 엔티티를 포함한 표준 EF Core 프로그래밍 모델과 원활하게 통합됩니다. 개발자는 `DbContext` 구성의 한 줄만 변경함으로써 애플리케이션의 데이터 백엔드를 기존 관계형 데이터베이스에서 Apache Kafka로 전환할 수 있으며, Kafka 전용 컨슈머 또는 프로듀서 코드를 작성할 필요가 없습니다. 이 프로젝트는 JCOBridge를 통해 공식 Apache Kafka Java 클라이언트 패키지를 직접 활용하는 KNet 클라이언트 측 기능을 기반으로 구축되었습니다. 이러한 아키텍처는 Redpanda, Amazon MSK, Confluent Platform 등 Kafka 와이어 프로토콜을 구현하는 모든 브로커와의 호환성을 보장합니다. KEFCore는 전용 NuGet 패키지를 통해 JSON, Avro, Protobuf를 포함한 다양한 직렬화 형식을 지원합니다. 또한 다양한 버전의 Apache Kafka, .NET 및 JVM 간의 호환성을 유지합니다. 기반 기술인 JCOBridge는 JVM과 CLR(또는 CoreCLR)이 격리된 상태로 동일한 프로세스 내에서 실행될 수 있도록 하여, 모든 .NET 애플리케이션에서 JVM 기능에 대한 직접적이고 안전한 액세스를 제공합니다. 이 접근 방식은 .NET 애플리케이션이 실행 중인 JVM 및 Apache Kafka의 사이버 보안 수준을 상속받도록 보장하며, 새로운 API를 배울 필요 없이 Apache Kafka 뒤에 있는 모든 Java/Scala 클래스를 직접 관리할 수 있게 합니다. KEFCore는 MASES Group에서 관리하는 오픈 소스 프로젝트로, 커뮤니티 및 상용 지원 플랜을 제공합니다. 문서는 시작하기, 작동 방식, 지원되는 백엔드, 사용법, 직렬화, 스키마 마이그레이션, 성능 팁 및 문제 해결과 같은 측면을 다룹니다.