保证HTTP转发前端服务(可靠的云负载均衡器)

我的情况相当简单,我想,这经常遇到。 我有几个项目都差不多 – 一个项目包括:

  1. 静态内容服务器 – 有一些体面的CDN解决scheme可以解决这个问题
  2. 前端HTTP服务器 – 应该接收传入的请求,将其分发到后端服务器,获取答案并将其发回给用户
  3. 后端HTTP服务器 – 可扩展,在全球范围内正确分布
  4. 数据库服务器/ NoSQL服务器/无论存储数据

这里的问题是(2) – 前端服务器。 我们正在使用多种技术来提供前端的容错和负载均衡,即:

  • DNS轮询和DNS区域切换 – 在负载平衡方面并不那么好,在发生故障后恢复非常缓慢(即在1分钟的TTL时间内,DNS区域的切换至less需要15-20分钟)
  • BGP交换 – 相当昂贵,需要大量的组织工作(即至less获得/ 23块IP地址),在两条以上的path之间切换并不实际
  • BGP任播 – 基本上也相当昂贵和复杂
  • 在路由器上使用VRRP / CARP切换同一数据中心内的服务器是最可行的select,但由于单个数据中心是SPoF,因此不能真正实现容错

想想看,我认为这个问题必须有一个现成的SaaS解决scheme。 我为下一个项目所梦想的就是这样做:

  1. 创build后端,将其部署到全球,准备好IP地址
  2. 买一个域名
  3. 注册一个外部服务,将:
    • 向我提供我将指向我的域名的IP
    • 有一个保证的Web服务器在这些IP(s)一直在监听
    • 监视我的后端
    • 将请求转发到负载最小的工作后端(理想情况下,使用某些地理/networking延迟原则调整负载平衡策略)
    • 从后端获取响应并将其发回给用户

我做了功课,发现有几种可用的负载均衡SaaS解决scheme:

  • Amazon CloudFront – 但它不是一个真正的前端转发器 ,而是一个前端服务内容(即基本上是一个CDN即服务)
  • 亚马逊弹性负载平衡 – 似乎是我正在寻找,但它不适用于非EC2托pipe的后端
  • Azure似乎包含某种“负载平衡器”,但它也只适用于Azure托pipe的服务器
  • RackSpace负载平衡器似乎也只适用于RackSpace托pipe的后端
  • Storm Cloud负载均衡器似乎只能在Storm托pipe的服务器上运行

我想知道是否还有其他可能使我的梦想部署成为现实? 可能是我错了,这样的事情不存在? 或者我只是在寻找一个错误的术语,这个服务还有另一个被广泛接受的术语?

我会谷歌“全球负载平衡”或“全球stream量pipe理”。

那里有一些常规玩家的产品…

Akamai http://www.akamai.com/html/solutions/gtm.html

F5 http://www.f5.com/it-management/solutions/global-load-balancing/overview/