Skip to content

gRPC support #8487

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
CEikermann opened this issue Feb 19, 2025 · 4 comments
Open

gRPC support #8487

CEikermann opened this issue Feb 19, 2025 · 4 comments

Comments

@CEikermann
Copy link

Problem

  • Knative eventing supports ksvc service only via HTTP
  • gRPC is more performant and optimized than HTTP

Are there any plans to support gRPC as eventing sink?

@pierDipi
Copy link
Member

pierDipi commented Mar 7, 2025

@CEikermann we have no plans for gRPC support, however note that gRPC is under the hood http2 + protobuf.

http2 upgrade might work when enabling TLS (depending on client-server negotiation) https://knative.dev/docs/eventing/features/transport-encryption/, not without encryption as we haven't enabled h2c (http2 over plain text).

Regarding the payload optimization you would get from protobuf as format, you can still transport protobuf payloads as the CloudEvents data field, the data field is treated as a binary blob. That combined with binary-mode, which is supported, https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-protocol-binding.md#13-content-modes should give you a more efficient way of transporting data.

@CEikermann
Copy link
Author

Any plans to support h2c?

@pierDipi
Copy link
Member

See #3312 (comment), there are a few problems on the egress side ("dispatcher" --> "subscriber") for h2c

@LeonB28
Copy link

LeonB28 commented Mar 15, 2025

I also ask to promote grpc.
I experimenting Arrow flight server on Knative
My goal is to leverage all the benefits of Knative and implement Arrow flight server.
They expect that the request to the server will be grpc:// or grpc-tls:// and not HTTP.
I was able to implement grpc on Knative while calling https...this won't work for them.
How can I close this gap?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants