eclipse-vertx / vertx-grpc

Development of the gRPC component for Eclipse Vert.x
Eclipse Public License 2.0
43 stars 23 forks source link

Support custom Compression/Decompressino #67

Open MRuecker opened 1 year ago

MRuecker commented 1 year ago

Describe the feature

We are using the older (Netty) version of the gRPC Server and implemented custom Snappy compression/decompression. We extended the (De)Compressor registry and registered it in the GrpcServer builder via

I couldn't find any option to register custom (de)compressors in grpc-netty

Use cases

This feature is usefull when you need to compress the payload and don't want to use gzip because it's very heavy on CPU. I our case we decided to use Snappy because is comes with a nice balance between CPU usage and compression ratio

Contribution

I'm happy to implement this feature and it might be enough to just allow a custom Compressor/Decompressor Registry to be added to the GrpcServiceBridge and use them instead of the default registries to find the compressor needed. But I'm not sure

Thanks you Markus

liangyuanpeng commented 1 year ago

I think it's useful, cc @vietj

vietj commented 1 year ago

@MRuecker currently compression is hardcoded in GrpcClientRequest and GrpcServerResponse and only works with GZIP, so you would like to register other compression algorithms ?

MRuecker commented 1 year ago

Yes we are currently using snappy because GZIP is too heavy on CPU

franz1981 commented 9 months ago

what's the status of this @vietj @MRuecker ?

vietj commented 9 months ago

I think we should have support for any compression actually

franz1981 commented 9 months ago

yeah, at least snappy is very used (and I'm recently working with @lucamolteni to get it decent for us as well) and PRs are welcome as you might know ihih, so , join the party!