-
Notifications
You must be signed in to change notification settings - Fork 141
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
Add gRPC Web support #571
Comments
I'm curious why you would choose to use gRPC-Web as a protocol for inter-service communication. It seems like gRPC-Web is designed to solve some issues that browsers face, and provide external-facing features. Wouldn't just using base gRPC requests be simpler in a clustered environment? |
You are right that gRPC is for inter-service communication, but I don't want to manually expose a different protocol (http/json). That is what gRPC-Web solves, but there needs to be a translating proxy. This could be at the edge with traefik or as part of the mesh in maesh. (So I thought) The reason for translating as part of the mesh is that for load balancing of the long lived http2-stream the protocol needs to be converted to discrete requests anyway. |
Ah that makes sense. Thx for the explanation. |
Is there any update for this feature? What is time schedule for implementing it? |
@einali Thanks for you interest in Maesh. As Maesh depends on Traefik we can't give you any ETA until this feature gets implemented on their side. |
@jspdown any update or related issue are welcome |
@zs-dima the In the meantime, if anyone wants to start working on this, I would be happy to help 😃 |
Feature Request
Proposal
Support gRPC Web to HTTP translation as part of maesh/traefik. Currently an additional envoy proxy instance is required.
This is related to traefik/traefik#4210
Background
For web clients a translation between http-grpc and grpc is required. Since most frameworks do not support this as in-process an external proxy must provide the protocol translation.
See https://github.com/grpc/grpc-web
Workarounds
Use envoy in addition to maesh.
The text was updated successfully, but these errors were encountered: