gRPC 与 WebFlux(反应堆项目)
gRPC vs WebFlux (Project Reactor)
请忽略此问题。我设置错误导致 gRPC 性能不佳。
可以比较 GRPC 与 Project Reactor 吗?
我只是想比较一下 REST 和 GRPC 的性能。我看不出 GRPC 比 reactor 快多少。事实上更糟。
GRPC 设置:
api-server --> grpc-server
- 此 grpc 服务器使用服务器端流为来自 api-server 的每个请求响应 1000 个“Hello”。
- api-服务器returns
Flux<String>
WebFlux 设置:
api-server --> rest-server
- 对于来自 api-server 的每个请求,此 rest 服务器响应 1000 个“Hello”作为
Flux<String>
。
- api-服务器returns
Flux<String>
我用 10 个并发用户进行了 10000 次迭代的性能测试。
WebFlux 设置比 GRPC 快得多。我有点好奇 gRPC 是否真的更快?如果是,在哪些情况下?
注意:两种情况下请求和响应有效负载的大小都非常小。
查看 rsocket 协议 https://rsocket.io 以获得更接近的反应性流,但跨网络。 grpc 有更多更高级别的 rpc 组件(存根生成等),但结果有人可能会争辩说 rsocket 给了你更多的控制权
请忽略此问题。我设置错误导致 gRPC 性能不佳。
可以比较 GRPC 与 Project Reactor 吗?
我只是想比较一下 REST 和 GRPC 的性能。我看不出 GRPC 比 reactor 快多少。事实上更糟。
GRPC 设置:
api-server --> grpc-server
- 此 grpc 服务器使用服务器端流为来自 api-server 的每个请求响应 1000 个“Hello”。
- api-服务器returns
Flux<String>
WebFlux 设置:
api-server --> rest-server
- 对于来自 api-server 的每个请求,此 rest 服务器响应 1000 个“Hello”作为
Flux<String>
。 - api-服务器returns
Flux<String>
我用 10 个并发用户进行了 10000 次迭代的性能测试。
WebFlux 设置比 GRPC 快得多。我有点好奇 gRPC 是否真的更快?如果是,在哪些情况下?
注意:两种情况下请求和响应有效负载的大小都非常小。
查看 rsocket 协议 https://rsocket.io 以获得更接近的反应性流,但跨网络。 grpc 有更多更高级别的 rpc 组件(存根生成等),但结果有人可能会争辩说 rsocket 给了你更多的控制权