knative-extensions / knative-extensions/func-go

Kafka middleware: language-agnostic runtime (sub-process or sidecar)

Open
#184 1 comment 0 reactions 1 assignee Claimed by @aliok View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.