KEFCore: the EntityFrameworkCore provider for Apache Kafka

CI_BUILD CI_RELEASE

KEFCore is the EntityFrameworkCore provider for Apache Kafka. Based on KNet it allows to use Apache Kafka as a distributed database.

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com.

Scope of the project

This project aims to create a provider to access the information stored within an Apache Kafka cluster using the paradigm behind Entity Framework. The project is based on available information within the official EntityFrameworkCore repository, many classes was copied from there as reported in the official documentation within the Microsoft website at https://docs.microsoft.com/en-us/ef/core/providers/writing-a-provider.

Runtime engine

KEFCore uses KNet, and indeed JCOBridge with its features, to obtain many benefits:

  • Cyber-security:
    • JVM and CLR, or CoreCLR, runs in the same process, but are insulated from each other;
    • JCOBridge does not make any code injection into JVM;
    • JCOBridge does not use any other communication mechanism than JNI;
    • .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafka;
  • Direct access the JVM from any .NET application:
    • Any Java/Scala class behind Apache Kafka can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on;
    • No need to learn new APIs: we try to expose the same APIs in C# style;
    • No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available;
    • Documentation is shared;

Have a look at the following resources:

  • Release notes
  • Commercial info
  • JCOBridge nuget

Summary

  • Roadmap
  • Actual state
  • KEFCore usage

  • Improve this Doc
In This Article
Back to top Copyright © 2022 MASES s.r.l..
Generated by DocFX