knative-extensions / knative-extensions/func-go
Kafka middleware: language-agnostic runtime (sub-process or sidecar)
- Dominant language
- Go
- Stars
- 7
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
The Kafka middleware is currently implemented as an in-process Go package. To support languages beyond Go without writing a per-language Kafka client integration, extract the Kafka runtime into a standalone component (sub-process, sidecar, or similar) that communicates with the user's function over a local protocol (gRPC, Unix socket, or localhost HTTP).
The standalone component would handle all Kafka-specific complexity (consumer groups, offsets, auth, reconnection). The per-language middleware becomes a thin shim that receives messages, calls the user's handler, and reports success/failure.
The exact form (sub-process managed by the middleware, sidecar container, etc.) is TBD.
Contributor guide
Assessment
This issue has not been assessed yet.