Skip to content

Serialization and deserialization for exchanges with Apache Kafka

License

Notifications You must be signed in to change notification settings

layer-3-communications/kafka-interchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kafka-interchange

This library provides serialization and deserialization for exchanges with Kafka. This takes the form of: data types, encode functions, and decode functions. This library is not a Kafka client. A Kafka client must be a much more opinionated piece of software. The purpose of this library is for Kafka clients to be built on top of it.

Module Structure

There are two module namespaces in this library: Kafka.Interchange and Kafka.Data. Pseudoregex for modules in the Kafka.Interchange namespace:

Kafka.Interchange.{msgtype}.(Request|Response).V[0-9]+

For example:

Kafka.Interchange.Message.Request.V2
Kafka.Interchange.Message.Response.V1
Kafka.Interchange.Produce.Request.V9

The message type "Message" is special. It's the wrapper that all other message types are serialized inside of. Request modules include a encode function. Response modules include a decode function.

Some shared types are used by both requests and responses. For such types, we use the Kafka.Data namespace. For example:

Kafka.Data.Acknowledgments

These are not versioned, and they include both encode and decode functions.

About

Serialization and deserialization for exchanges with Apache Kafka

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages