Facebook开源Katran负载均衡器并公开Provisioning Tool

Facebook周二宣布推出两款扩展其DIY网络产品组合的新工具:Katran负载均衡软件和构建骨干网络的自动化系统,Zero Touch Provisioning。

Facebook七年前开创了Open Compute Project,专注于开放数据中心组件设计。它的软件开发人员也愿意分享他们开发软件的工作细节。本月,Facebook开源PyTorch,这是机器学习和人工智能项目的软件。

虽然PyTorch仍有一些问题尚待解决,但Katran已经过测试并准备就绪。

根据Facebook制作工程师Nikita Shirokov和软件工程师Ranjeeth Dasineni撰写的博客,Katran旨在解决公司以前负载均衡软件中的缺点,Katran主要来自开源软件,并已使用了四年。

博客中写道,Facebook的负载均衡器必须符合以下标准。首先,为了提高性能和灵活性,它需要能够Linux上运行。然后它必须与其他服务器服务共存,以消除对负载均衡器的专用服务器需求。它还必须允许低中断维护,因为Facebook的维护和升级“是一种规范,而不是例外。”最后,它需要提供简单的仪器和调试,以减少调试和解决问题的时间。

Shirokov和Dasineni表示,他们的第一个软件定义的负载均衡器“没有达到与其他服务共存的目标,尤其是后端。”

为了克服这个缺点,Facebook针对Katran完全重新设计了转发平面,其中包括两项最新的Linux内核开发:提供高性能可编程网络数据通路的XDP和扩展的Berkeley Packet Filter eBPF。

Katran部署在Facebook的后端服务器上,它帮助Facebook提高了网络负载均衡的性能和可扩展性,并且“在没有传入数据包时减少无用循环,例如繁忙循环”。他们写道,“通过与开源社区分享,我们希望其他人可以提高其负载均衡器的性能,并且还可以将Katran用作未来工作的基础。”

博客中列出了为了提高性能而引入Katran的一些“限制”,并说:“我们发现这些限制是相当合理的,而且并没有阻止我们的部署。“

Katran可以在GitHub的GNU通用公共许可证v2.0下载。

Facebook的Zero Touch Provisioning工具的细节来自Facebook的骨干自动化工具工程经理James Quinn编写的博客,以及Facebook网络工程师Joe Hrbek,Brandon Bennett和David Swafford指出,Facebook的网络跨越大陆并包含两个并行的IP骨干网络。

Facebook在构建网络时遇到了与解决负载平衡相似的问题,它所使用的供应系统无法胜任处理所需任务的规模和复杂性。

“最终,这些挑战促使Facebook的网络工程师为网络部署工作开发了一种全新的方法,”博客中写道。“我们称之为自动售货机(Vending Machine),这个名字的灵感来自于分配糖果和软饮料的机器。就Facebook的自动售货机而言,输入是设备角色、位置和平台,并弹出一个新配置的网络设备,准备提供生产流量。“

该博客表示,新框架使Facebook工程师能够更快地移动并更有创意地解决问题。

Zero Touch工具的开发仍在进行中,但Facebook已经在努力实现新目标,包括编排 Vending Machine设备作业组以建立或重建更大的网络,并持续自动重建其骨干网络。

该博客并未指明Zero Touch Provisioning是否开源,目前猜测它是专有的。但是,相信Facebook在未来会以开源的形式发布它。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

Facebook的bug终结者!程序员再也不用加班熬夜了!

“如果 Facebook 没有 AI,那它将失去根基。”去年@Scale软件工程大会上,Facebook AML 实验室负责人 Joaquin Candela ...

1363
来自专栏媒矿工厂

5G时代的媒体远程生产

媒体应用需要巨大的网络容量来实现高带宽的流传输,对资源要求苛刻。5G的出现激发了新的解决方案和工具的研究和开发,可以满足媒体行业对网络链路的需求,随时随地提供特...

4592
来自专栏阮一峰的网络日志

Web 2.0网站的九个特点

昨天晚上,我在看一本书《Amazon.com Mashups》,里面总结了web 2.0网站的九个特征。我觉得总结得很好。

723
来自专栏QQ空间开发团队的专栏

十亿级视频播放技术优化揭密

腾讯研发总监王辉以“十亿级视频播放技术优化揭秘”为主题,用QQ空间的日均播放量一年内从千万级突破到十亿级所面临的严峻考验为切入点,为大家分享视频团队在视频组件技...

1.1K2
来自专栏iOSDevLog

github 合集Top 3集合列表原文:https://github.com/collections

3637
来自专栏斑斓

剖析大数据平台的数据源

我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存...

3807
来自专栏大数据挖掘DT机器学习

【推荐】网站转化率与漏斗模型

前段时间刚完成了一个分析网站流程的每个步骤的流失率,并用漏斗模型进行展示的需求,这里跟大家来分享一下。分析过程可以从以下三步展开:确定需要分析的访问路径...

3666
来自专栏嵌入式程序猿

freeRTOS-&OpenRTOS-&SafeRTOS

在很早之前我们就曾在公众号里给大家介绍过freeRTOS,并且还介绍过在NXP kenitis KV46上的移植,相信很多猿友应该还有印象,freeRTOS因其...

3166
来自专栏ThoughtWorks

TW洞见〡今日最佳答案:为什么互联网公司不开除测试?

点击上方“思特沃克”可以订阅哦! 本篇洞见内容来自知乎。 欢迎点击最底部【阅读原文】跳转至ThoughtWorks官方微博就此问题发表你的看法。 文章末尾另有关...

3625
来自专栏云计算D1net

五步法降低基于PaaS的SaaS应用开发风险

对于希望按需快速部署、监控和扩展网络应用的云计算架构师和开发人员来说,AWS的Elastic Beanstalk (测试版)是一个非常有用的工具。他们所要做的就...

3729

扫码关注云+社区