-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
GRPC Gateway #40
Comments
This is really the future |
Sounds like a great future improvement! |
Is there any plans for supporting gRPC? |
I think the only thing that is needed to use gRPC with Spring Cloud Gateway is HTTP2 support #7. |
This comment has been minimized.
This comment has been minimized.
No, when there are updates you will see them here. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Any news on this? I'm currently using gRPC between all the server-side microservices, as well as a Typescript React app using grpc-web. I am able to have an envoy proxy sit between those microservices and the UI and everything works fine. However, the only problem here is that the envoy proxy is just proxying straight to a service, but I need it to go through an API Gateway too (for things like filters and authentication) - like Zuul or Spring Cloud Gateway. My guess is that I cannot do this with Zuul because it doesn't support HTTP/2. Does Spring Cloud Gateway support this and if so, what version do I need to get it working? Thanks. PS Could anybody recommend another API Gateway that supports this |
@spencergibb Are there any solutions or workarounds to my problem that you are aware of? |
No |
Oh okay - but thanks anyway - if I find any workarounds then I'll post them here |
Hey all, I've come up with a potential solution regarding API Gateways in use with gRPC. What I am doing now, is using an NGINX Proxy - which has special filters on it to authenticate as an OAuth 2.0 Client itself, or authenticating with your own custom "Authentication Microservice". Please note if you are gonna use NGINX, then you'll have to use some form of SSL between the Proxy and the Proxyied Services because HTTP/2 requires SSL to work properly (or so I've read...). Because NGINX is quite a good proxy it enables you to do other good things like set custom headers, rate-limits, D-DOS protection, and more. An article about use with gRPC and HTTP/2 is here https://www.nginx.com/blog/nginx-1-13-10-grpc/ Also, you can read up about some Authentication & Authorization features in this article https://www.nginx.com/blog/validating-oauth-2-0-access-tokens-nginx/ Also, another thing to add - this is even better when this is all in a Kubernetes Cluster, as you can just reference the already load-balanced hostname for each Spring Cloud service instead of hardcoding it in different environments |
@BenNeighbour great solution actually |
hopefully, spring cloud gateway support gRPC |
@spencergibb Is there any news about grpc gateway? |
@spencergibb is it something prioritized? please let us know, if not we need to find workaround or alternatives. |
This is blocked by #7 |
When #7 is implemented do we see this just working or will there be additional work to make gRPC work via HTTP/2 on SCG? |
awaiting good news |
Passing TE trailers header through Adding grpc-status as response trailer to ensure the right end of stream Fixes gh-40
hello, any good news ? |
If you look at the history, this was added in 2021.0.0 |
I don't see any mention about it in the documentation except for I did build my own implementation for an experiment |
Hey @trajano gRPC support was added a while ago: https://spring.io/blog/2021/12/08/spring-cloud-gateway-and-grpc |
I know it's added a while ago, my comment was that there is no mention of it in the documentation. |
I loved the workflow described https://spatialos.improbable.io/games/grpc-web-moving-past-restjson-towards-type-safe-web-apis
The text was updated successfully, but these errors were encountered: