gRPC support
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?
@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.
Any plans to support h2c?
See https://github.com/knative/eventing/issues/3312#issuecomment-642742621, there are a few problems on the egress side ("dispatcher" --> "subscriber") for h2c
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?
This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.