SOFA 注册中心通过特有的三层架构模型,实现了理论上无限水平扩容的能力。可以支持海量客户端的接入和海量服务数据的注册和订阅。但是凡事皆有瓶颈,当应用集群达到一定规模后,网络带宽将成为阻碍。SOFA 注册中心提供了数据压缩功能,可以优化推送的数据包大小,进一步提升大规模应用集群的支持。
默认情况下,注册中心并不会开启数据压缩功能,如果要使用数据压缩功能,需要服务端和客户端双边进行配置。任何一边未开启,数据压缩都不会生效。本文主要介绍客户端侧的配置。
重要
开启数据压缩后,默认情况下只有当推送数据大于 4KB 时,推送数据才会被压缩传输。这是为了平衡带宽与运算的损耗。此外,开启数据压缩后,注册中心客户端与服务端之间会切换到 protobuf 序列化通讯。
客户端配置
您可以在application.properties
文件中配置spring.cloud.sofa.discovery.compressEncoding
参数来指定压缩算法,配置该参数即意味着客户端允许服务端使用这些算法进行数据压缩。
spring.cloud.sofa.discovery.compress-encoding=zstd,gzip
该配置可指定多种压缩算法,算法间用半角逗号(,)分隔,服务端会根据上传的算法来判断使用哪种算法进行压缩,排在前面的算法会优先匹配。目前注册中心提供了 ZSTD 和 GZIP 两种压缩算法的支持。
该文章对您有帮助吗?