是否可以在服务器中启用GRPC消息压缩? (蟒蛇)

时间:2018-05-24 12:34:34

标签: python compression protocol-buffers rpc grpc

我有一个gRPC客户端(用Java)向服务器发送请求(用Python编写)。我需要启用请求压缩和响应压缩。如何在客户端启用压缩有很好的documentation。我设法像这样压缩请求:

 response = blockingStub.withCompression("gzip").method(request)

但是,我找不到任何有关如何压缩服务器响应的文档(也)。似乎几乎没有关于如何在Python中使用gRPC消息压缩的文档(或示例)。如何启用服务器端压缩?该调用是一个简单的RPC调用(没有流式传输)。

2 个答案:

答案 0 :(得分:0)

通过元数据参数支持Python中的压缩。

你可以在这里找到一个例子: https://github.com/grpc/grpc/blob/master/src/python/grpcio_tests/tests/unit/_compression_test.py

答案 1 :(得分:0)

要添加到涵盖呼叫级别压缩的kpayson64's answer,您可以在初始化时通过频道arg grpc.default_compression_algorithmgrpc.Channelgrpc.Server对象上设置压缩设置。 / p>

另请参阅gRPC Compression Cookbook有关明确启用压缩的位置的建议。