Michael's Blog

Software Engineer

LintCode

Consistent Hashing II

Consistent Hashing II [http://lintcode.com/en/problem/consistent-hashing-ii/] 在 Consistent Hashing I 中我们介绍了一个比较简单的一致性哈希算法,这个简单的版本有两个缺陷: 1. 增加一台机器之后,数据全部从其中一台机器过来,这一台机器的读负载过大,对正常的服务会造成影响。 2. 当增加到3台机器的时候,每台服务器的负载量不均衡,为1:1:2。 为了解决这个问题,引入了 micro-shards 的概念,一个更好的算法是这样: 1. 将 360° 的区间分得更细。从 0~359 变为一个 0 ~ n-1 的区间,将这个区间首尾相接,连成一个圆。 2. 当加入一台新的机器的时候,随机选择在圆周中撒 k 个点,代表这台机器的
3 min read
LintCode

Consistent Hashing

Consistent Hashing [http://www.lintcode.com/en/problem/consistent-hashing/] 一般的数据库进行horizontal shard的方法是指,把 id 对 数据库服务器总数 n 取模,然后来得到他在哪台机器上。这种方法的缺点是,当数据继续增加,我们需要增加数据库服务器,将 n 变为 n+1 时,几乎所有的数据都要移动,这就造成了不 consistent。为了减少这种 naive 的 hash方法(%n) 带来的缺陷,出现了一种新的hash算法:一致性哈希的算法——Consistent Hashing。这种算法有很多种实现方式,这里我们来实现一种简单的 Consistent Hashing。 1. 将 id 对 360 取模,
3 min read
Tesla

关于特斯拉4680电池

在2020年9月举办的特斯拉电池日上,特斯拉公布了自产新型4680电池的一些细节,与2170电池一样同样是圆柱形结构,但明显体积要大了不少,高度达到80MM, 直径达到46MM。 相比现在特斯拉使用的2170电芯,4680电芯容量上提升5倍,输出功率提高6倍,整车续航里程也将增加16%。新电池内部还采用了无极耳设计,有助于降低内阻,减少发热,从而为车辆带来更优秀的能耗表现以及充电性能。 使用4680电芯和新结构化的电池包(structural battery pack)之后,一台车上的电池外壳材料将会减少,使得制造成本进一步降低,每kWh的电池成本降低56%,每kWh所需的投资成本降低69%。 在2021第四季度财报会议上,特斯拉更新了一些关于4680电池的消息。 自从揭晓了4680电池后,特斯拉一直在加州的弗里蒙特(Fremont)工厂小量的试生产,然后计划在德州(Gigafactory Texas)和柏林(Gigafactory Berlin)超级工厂大规模量产4680电池。目前在Fremont的4680电池产能正在爬坡,预计年产能将达10GWh。德州超级工厂将会是
3 min read
DigitalOcean Referral Badge