Skip to content
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

Any benefits to use gRPC over QUIC? #1

Open
Jeffwan opened this issue Aug 15, 2022 · 2 comments
Open

Any benefits to use gRPC over QUIC? #1

Jeffwan opened this issue Aug 15, 2022 · 2 comments

Comments

@Jeffwan
Copy link

Jeffwan commented Aug 15, 2022

Hi @gfanton Thanks for open source this project.

I am new to QUIC and investigating whether QUIC is beneficial to gRPC. Could you also share some insights on the benefits to use gRPC over QUIC? Did you run any benchmark on QUIC vs HTTP2? I am trying to understand if the problem statement makes sense.

Thank you!

@gfanton
Copy link
Owner

gfanton commented Aug 16, 2022

Could you also share some insights on the benefits to use gRPC over QUIC

I think the only advantage at the moment is to use it on a mobile.
By using QUIC+UDP, we will have a packet-oriented connection, so you shouldn't have any loss when switching from one network to another (4g/wifi/...), It Also should works better than TCP in a flaky/slow network.
Overall, QUIC makes all your connections more reliable, which makes more sense on a mobile or a browser.
Otherwise, I don't see any other significant advantages for now (but maybe I missed something).

Did you run any benchmark on QUIC vs HTTP2

I may be wrong, but until GRPC natively supports QUIC, what it actually does is HTTP/2 over HTTP/3 (QUIC), so I don't think there will be any improvement in performance, or maybe some latency, but I don't think it will compensate the overhead. Perhaps GRPC over KCP-GO (which has no built-in muxer for example) should be a better choice than QUIC.
If you are still interested, you are welcome to add some benchmarks.

@Jeffwan
Copy link
Author

Jeffwan commented Aug 16, 2022

@gfanton Thanks a lot for these details. In this case, if the gateway layer support QUIC (server side) and mobile supports QUIC (client side), that should be good enough. After gateway route the traffic to internal microservices (managed by service mesh). Since the network latency and stability are very promising, QUIC won't help a lot in microservice inter-communication? I will definitely look at KCP-GO. thanks for the pointer

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

No branches or pull requests

2 participants