向东是大海
2025-03-14
来自广东
思考题1,一致性哈希的原理是什么,为什么不用普通的哈希算法? (1)一致性哈希算法,将节点和数据通过哈希函数映射到哈希环上(0 ~ 2^32-1),数据存储到环上顺时针方向遇到的第一个节点。一致性哈希可通过增加虚拟节点使数据分布更均匀,即,每个物理节点对应多个虚拟节点,并分散在哈希环的不同位置。 (2)节点增加或减少时,普通哈希算法所有数据需要重新哈希并重新分配到不同的节点,迁移量≈100%;一致性哈希算法仅需对相邻节点数据迁移,迁移量≈1/N(N为节点数)。 思考题2,trafficserver 默认的 cachekey 是 url,如果你有个业务url中有些参数不想作为cachekey的一部分该怎么办? (1)使用cachekey插件(需要使用源码安装,启用cachekey插件),启用插件后,在cachekey.config中配置规则,排除某些参数,实现自定义cachekey。 (2)使用lua脚本,获取原始URL,删除某些参数,然后生成新的查询字符串,但这样可能会影响后续处理流程,好像不太合适。
作者回复: 赞,回答的逻辑清晰,有理有据。