🦎 A multi-protocol edge & service proxy. Seamlessly interface web apps, IoT clients, & microservices to Apache Kafka® via declaratively defined, stateless APIs.
One significant issue with mapping websocket to kafka is the choice of protocol format after establishing the websocket transport to potentially handle:
binary key
binary header values, with text header names
text payload
binary payload
progress indicator, stateless resumption
transport connection reuse
multiplexing protocol over http/1.1websocket
single stream protocol via http/2websockets, http/2 transport handles multiplexing
Consider instead implementing support for the following:
One significant issue with mapping
websocket
tokafka
is the choice of protocol format after establishing thewebsocket
transport to potentially handle:http/1.1
websocket
http/2
websockets
,http/2
transport handles multiplexingConsider instead implementing support for the following:
rsocket
overws
orhttp/2
streamssocket.io
overws
stomp
overws
mqtt
overws
As a starting point, we can add a
ws-kafka
binding, that behaves as follows:http-kafka
bindinghttp-kafka
binding