本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1671|回复: 0
打印 上一主题 下一主题

谷歌开源负载均衡软件 Seesaw v2

[复制链接]
跳转到指定楼层
1#
发表于 2016-3-9 13:01:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

英文原文:Seesaw: scalable and robust load balancing

作者:Joel Sing,谷歌网站可靠性工程师;翻译:Guokai Han 。


就像所有好的项目一样,这个项目也是为了解决实际问题而产生的。


作为网站可靠性工程师,我们负责管理 Google 公司的基础设施。我们平时需要处理大量的内部使用的服务,而这些服务需要负载均衡来保障其可伸缩性和可靠性。在 2012 年,我们有两个不同的平台来提供负载均衡,它们都有不同程度的管理和稳定性的挑战。为了缓解这方面的问题,我们团队开始着手寻找一个替代的负载均衡平台。


在评估了一些包括现有的开源项目的平台之后,我们没能找出一个能够满足我们所有需求的平台,所以我们决定自己着手开发一个可靠和可伸缩的负载均衡平台。需求并不太复杂,我们需要能够处理单播(unicast)和任播(anycast)虚拟 IP (VIPs) 流量,使用 NATDSR (也被称为 DR) 执行负载均衡,执行针对后端的健康检查。特别是,我们需要一个容易管理的平台,可以自动部署配置的变化。


原有的两个平台之一是基于 Linux LVS 构建的,它在网络层提供了必要的负载均衡。这方面已被证明是成功的,所以我们选择在新的平台中保留它。在项目初期我们就确定了几个设计决定,首先是使用 Go 语言,因为它提供了实现并发的强大方法(goroutines 和 channels) 以及方便的进程间通信(net/rpc)机制。其次是要实现一个模块化的多进程架构。第三,如果遇到了未知状态,能够简单地退出(abort)和终止(terminate)进程,这种情况理想上是做故障转移和/或自我恢复。


经过一段时间地集中开发,作为原有的两个平台的替代品,我们完成并成功部署了 Seesaw v2 。总体而言,它让我们提高了服务可用性并降低了管理开销。我们很高兴能够把它分享出来,希望其他企业也能够从中受益。Seesaw v2 的项目地址是:https://github.com/google/seesaw



ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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