Cat 客户端采用什么策略上报消息树
策略分类
目前搞清楚两种
第一种(蓝色):默认服务器列表中选一个,算法核心是根据应用名的哈希值取模。也就是说同一个应用始终打到同一台服务器上,如果这台服务器挂了,另选一台服务器。
第二种(红色):应用指定服务器列表。
处理逻辑:
第一步是找应用列表,先找应用指定的,没有的话,然后一堆判断,最后找默认的服务器列表
第二步,选出3台服务器,客户端上报用第一台,如果第一台失联,接着用第二台
思考
一个应用所有的流量打到一台Cat服务上,如果这个应用的流量特别大呢。。。
我们的实践是hashcode(应用名+ip),以分散流量,后续随着Cat服务器增加,还会考虑用分组来解决聚合的机器过多的问题。