回复: 5
跳转到指定楼层
上一主题 下一主题
收起左侧

请问consistent hash是如何balance load的?

全局:

2021(1-3月) 码农类General 博士 全职@meta - 网上海投 - Onsite  | | Other | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
在看脸家的系统设计题,关于loads bal
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
实现的?哪位高人提示一下?谢谢

上一篇:Google 电话面试
下一篇:snapchat onsite
地里匿名用户
🔗
匿名用户-WBJPA  2021-2-27 10:27:20 来自APP
蹲一个答案
我感觉是因为结合了replication才更加balanced。
回复

使用道具 举报

🔗
clairefig 2021-2-27 10:41:52 | 只看该作者
全局:
virtual node
回复

使用道具 举报

🔗
 楼主| fnhdx 2021-3-2 00:24:11 | 只看该作者
全局:
明白了,谢谢
回复

使用道具 举报

🔗
鸭蛋圆 2021-3-2 13:46:21 | 只看该作者
全局:
假设 一个IP/endpoint 后面有1000 host。
一个client request 连上其中一个host,会产生一个session/connection。
每个session/connection 都有自己的context。

这个时候一个host挂了,或者request 太多临时加一些host。host总数不再是1000个。 如果naive的hash 方法 exsiting session 的包 有很大概率会被送到不同的host上面。 根据protocal 不同,有的情况新的host 能从新build context/session,有些情会直回给client error 或者吧 packet drop。 consisten hash 就解决了这个问题。绝大部分 exsiting session 的packet 仍然会发给之前的host。 这个对于long lasting 的connection还挺重要的。

对于哲学理解不深。我肤浅的理解是本质原因 是在这个distributed system 里面的host 在处理请求的时候 不是stateless的。
回复

使用道具 举报

🔗
2plus2isfour 2021-3-10 11:20:57 | 只看该作者
全局:
我思考过这个问题,对于single hot key,consistent hashing是无法balance load的。
比如说你有一个partition key是Facebook,其hash永远是相同的,最后映射到一个机器上,无论再多virtual node在hashing ring上。

grokking sd里面讲design twitter search那里,关于这个问题说了一下,他可以用consistent hashing解决一个词index过大的问题,就是扯淡。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表