我们使用finagle作为rest api,因为我们需要一些奇特的负载均衡,所以我们使用了Finagle的KetamaShardingServiceBuilder,在19.3中提供
我尝试将finagle版本更新到20.10,但是KetamaShardingServiceBuilder似乎消失了。在changelog中没有任何迹象,在万维网上也几乎没有任何引用。在20.3版之后,ShardingService (带有KetamaShardingServiceBuilder)似乎已经从com.twitter.finagle.core.service中完全删除,没有文档记录也没有被弃用。
希望这里有更多的见解?
发布于 2021-03-24 06:06:30
jerry,看起来问题已经在gitter中得到了回答,我也会试着在这里结束循环。
ShardingService和KetmaShardingServiceBuilder在20.3.0中是removed,changelog here,原因是我们认为它是PartioningService的副本,抱歉没有让它首先被弃用来提出警告。
根据您使用的协议,提供了更复杂的分区API作为替代方案,更多文档
http://twitter.github.io/finagle/guide/Clients.html#partition-aware-client http://twitter.github.io/finagle/guide/PartitionAwareClient.html
我相信HashingPartitioningStrategy会提供一个与您正在寻找的KetamaShardingServiceBuilder等效的算法(如果使用Ketama作为哈希器)。
https://stackoverflow.com/questions/66746668
复制相似问题