BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Google Maglev:基于商用服务器的负载均衡器

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 任美芒 关注 0 他的粉丝 发布于 2016年3月21日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

在近日举办的第十三届网络系统设计与实现USENIX研讨会(NSDI '16)上, 来自谷歌,加州大学洛杉矶分校SpaceX公司的工程师们分享了Maglev:快速、可靠的软件网络负载均衡器(PDF)。Maglev是谷歌的网络负载均衡器。

不同于专用的硬件负载均衡设备,Maglev是运行在商用服务器上的软件解决方案。Maglev运行在普通的服务器上,在需求增长的时候通过将更多的服务器添加进来,为流量高峰提供足够的容量,而不是提前获取特定硬件。Maglev是谷歌为自己的数据中心研发的,并已于2008开始用于生产环境。

谷歌服务器以集群的方式运行在世界各地的数据中心。每个集群都有一个负载均衡器构成多设备放置在路由器和提供服务的服务器之间。专用负载均衡器通常以active-passive模式部署提供1+1冗余,使其中一个闲置,造成容量浪费。而且他们局限于他们的容量,很难或不可能重构。谷歌已经决定使用一种配置提供N + 1冗余,为他们的软件和商用服务器提供了更好的可扩展性和灵活性,如下图所示。

在性能方面,单节点Maglev服务器可以“用很小的数据包使10Gbps链接达到饱和。Maglev也包含了一致性哈希算法和连接跟踪功能,以减少面向连接协议的突发故障和失败的负面影响。”。Maglev被Google的云计算平台使用,安装后不需要预热5秒内就能应付每秒100万次请求。谷歌的性能基准测试中,Maglev实例运行在一个8核CPU下,网络吞吐率上限为12M PPS(数据包每秒)。如果Maglev使用Linux内核网络堆栈则速度会慢下来,吞吐率小于4M PPS。

演讲文中详细介绍了如何通过Maglev处理请求,如何处理虚拟IP地址以及该请求是如何基于等价路由(ECMP)算法,哈希法和其他算法定向到一个服务端点的。

查看英文原文:Google Maglev: A Load Balancer on Commodity Servers


感谢张龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

HAProxy,Nginx和LVS? by 孙 庚泽

对这边不太了解,这东西和HAProxy、Nginx以及LVS是一种类型的东西么?

想知道这个负载均衡器是可以横向扩展的吗?即可以扩展到数十台甚至更多? by 冯 刚

想知道这个负载均衡器是可以横向扩展的吗?即可以扩展到数十台甚至更多?

能不能翻墙把PDF给大家贡献一下哦。谢谢。 by x bq

能不能翻墙把PDF给大家贡献一下哦。谢谢。。

Re: 能不能翻墙把PDF给大家贡献一下哦。谢谢。 by Woo Leonard

Re: HAProxy,Nginx和LVS? by xiao liu

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

5 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT