Abstraction over the transport layer, and 3 different implementations
- Http rest
- Kafka with default serializer
- Kafka with avro serializer and confluent schema registry
using .net confluent kafka client https://github.com/confluentinc/confluent-kafka-dotnet