slime-io / slime

An intelligent ServiceMesh manager based on Istio
https://slime-io.github.io/
Other
424 stars 78 forks source link

meshreg: support load gzip compressed dynamic configmap #384

Closed believening closed 1 year ago

believening commented 1 year ago

The dynamically generated configurations in large-scale service data scenarios may be large enough to exceed the maximum storage capacity of configmap, making it impossible to issue dynamic configurations.

The meshreg configuration parameters provide many runtime modification APIs for individual services and even individual instances. These APIs are mainly centered around the service name, which means that there will be a lot of repeated strings in the configuration. Compressing the configuration and saving it in configmap can increase the upper limit of the dynamic configuration size.

Testing shows that the compression rate of the original dynamic configuration using gzip is around 10%, and supporting gzip compression can increase the upper limit of the dynamic configuration size by about 10 times.