Details
Description
recently I noticed every client (java, js, python ...) uses a different serializer and deserializer,
by adding the protocol buffer (.proto) files to the Kafka project, and describing the Kafka protocol, all clients and even the brokers can connect with more ease.
there will be less duplication of code,
it will be easy to add client implementation fast the clients will be more reliable and more up-to-date like the official Kafka protocol
- protocol buffer is a uniformed way developed by google to describe serializer and deserializer protocols
related information:
the protobuf by google -
https://developers.google.com/protocol-buffers
for example, pulsar added protobuf files to the project
pulsar protocol buffer -
https://github.com/apache/pulsar/blob/master/pulsar-common/src/main/proto/PulsarApi.proto
https://pulsar.apache.org/docs/developing-binary-protocol
pulsar node js client -