侧边栏壁纸
  • 累计撰写 244 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论
隐藏侧边栏

Twine 分片

kaixindeken
2021-04-21 / 0 评论 / 0 点赞 / 75 阅读 / 768 字

Facebook 的集群规模也是目前世界领先的,虽然目前的集群规模还没有突破百万级,但是随着业务的快速发展,Twine 很快就需要支持百万级别的物理机管理,为了支撑这个数量级的节点,可以通过按照 Entitlement 集群分片的方式水平扩容。

分片是集群或者系统想要实现水平扩容的最常见方式,Twine 为了支持水平扩容就以 Entitlement 集群的维度分片;作为虚拟集群,Twine 可以在分片之间迁移Entitlement 集群,不需要重启机器上的任务,然而跨 Entitlement 集群的迁移就需要滚动更新的支持了。

1.png

通过分片,集群管理系统的水平扩容就变得非简单,调度程序可以轻松扩展到一百万台计算机。最大的分片可管理约170K台计算机,最多使用40个内核和80GB内存。而且他们正朝着更小的碎片方向发展,以减少碎片故障的影响。假设每个分片将来可以管理5万台机器,那么一个Twine部署就可以管理20个分片的1M机器。以此类推通过添加更多分片,Twine可以轻松扩展到超过100万台计算机。这与 Kubernetes 能够支持 5,000 节点相比有将近两个数量级的差距。

除了分片之外,Federation 也是解决集群管理规模的有效手段,Kubernetes 社区的 Federation 可以让同一个任务在多个独立集群运行,可以支持多地区、混合云甚至多云的部署,但是因为需要跨集群同步信息,所以实现相对比较复杂;Twine 的调度器可以在分片中的机器不足时动态迁移新的机器,所以可以使用单个调度器管理一个服务的所有副本。

0

评论区