注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 模拟Linux客户端远程登陆L..
 帮助

eBay数据库负载均衡


2008-06-05 12:42:23
 标签:   [推送到技术圈]

成功案例:采用F5应用交换机实现数据库服务器负载均衡
-eBay解决方案
一. eBay数据库系统简介
eBay拥有30套生产数据库,全部采用Oracle数据库,其中包括:
1. 12 数据库支持 “live” 项目 (Sun 480/4500)
2. 1 个数据库支持存档项目(Sun 4800)
3. 4 数据库支持客户数据 (Sun 4800)
4. 2 个数据库支持 eBay的反馈系统 (Sun 480)
5. 1 数据库支持非正常的 “cache” 数据 (Sun 4800)
6. 其他的数据库 (大部分 Sun 480 class)
eBay采用Hitachi SAN 建立存储架构,建立了两个远程备份数据库,并实施实时复制数据到远程数据库实现冗灾,同时每24小时实施针对数据块的数据备份。
eBay 数据库读写的比率:
从中可以得出eBay在数据库提供服务时,读和查询的操作达到530亿次,而数据库写和更新的操作达到2亿次。可知“读和查询”操作与“写和更新”的比率达到265:1。可见查询和数据库读的操作给数据库管理系统带来巨大的压力。
二. 碰到的问题:
eBay 在 Q1 2001,年增长率达到50%;可是IT支撑系统的高可用性指标还是没有达到99.9%的高可用性目标。全球IT系统重构规划时确认用户数据库有单点故障(SPOF)。
解决问题的可选办法:
1) 将数据库垂直分割,划分成多层数据库处理,减轻原来单层数据库处理数据而形成的瓶颈与可用性问题。
问题:这种方案很难部署,而且也没有从根本上解决单点故障问题。
2) 采用Oracle OPS/RAC机群解决方案。
问题:要求给便数据库编程代码,非常难以管理与维护。
3) 采用F5 与SharePlex 联合解决方案。
优点:简单管理,不需要改变整个体系结构。
在最初,eBay采用Oracle OPS/RAC解决问题。但是后来经过充分论证和探讨,最终eBay采用了基于F5/SharePlex的解决方案:
 应用将数据库”读与查询”的操作与”写和更新”的操作导向到分开的 “逻辑” 数据库,这些数据库服务器都单独配备数据存储,没有采用共享存储的方式!
 F5 应用交换机动态的将所有的数据库”读与查询”请求导向到查询数据库服务器群中,并智能负载均衡到最佳的数据库服务器上。
 所有的”写和更新”请求都指向到一个单一的数据库服务器上,由SeharePlex动态实时将数据记录复制到”读与查询”数据库服务器群的数据库中。
这是一个类似于OPS/RAC的解决方案但是没有OPS/RAC 那样麻烦,而且可以实现在线扩充服务能力,因为通过F5应用交换机将”读与查询”服务器群虚拟和集群之后,我们可以随时根据客户业务的压力在线扩展新的服务器在这个群之中。由于根据以上分析,数据库读写的比例超过260倍,采用这样的方法,有效解决了数据库性能和高可用性要求。

图一:采用F5/Share Plex 解决方案示意图
三. 为什么选择F5?
采用F5的BIG-IP负载均衡器后,对于eBay应用系统有独到的优势:
高可用性: BIGIP动态分配每一个流量请求到后台的四台Oracle 9i Database 数据库服务器,并动态检查各个服务器的健康状态,将下一个请求分配给最有效率的服务器,任何服务起死机时,BIGIP即刻将流量请求分配给其他的三台服务器,从而达到99.999%系统有效性。特别是针对Oracle 9i 数据库服务器,F5公司专门为Oracle 9i 数据库开发了专用的健康检查模块,通过调用F5专有的扩展应用校验(EAV)进程,F5能够随时得到Oracle 9i数据库的应用层服务能力而不是其他的负载均衡设备所采用的iCMP / TCP 层进行健康检查。


图二:F5内置的针对数据库的扩展应用校验模块

iControl: F5通过开放式编程界面API及iControl体系架构与Oracle应用系统有着紧密的联系,特别是Oracle的Enterprise Manager软件内部集成了针对F5 BIG IP 设备的管理和配置。

图三:Oracle Enterprise Manager软件内置了F5 iControl


图四:Oracle Enterprise Manager添加对F5负载均衡设备的管理

图五:Oracle Enterprise Manager通过F5 iControl得到其数据库服务器的流量和压力数据
高安全性: BIGIP支持地址翻译技术和安全地址翻译,这样一来客户不可能知道真正提供服务的服务器的IP地址与端口,从而保护数据库服务器不受到诸如SYN Flood 等DOS及DDOS进攻。
高效率: 采用BIG-IP 负载均衡之后, BIG-IP可以智能寻找最佳状态的数据库服务器从而保证客户得到响应最快的数据库服务器以提供最佳的查询数据库服务!
高可扩展性: BIGIP可以支持动态增加或删除其负载均衡的数据库服务器群组的任何数量的服务器,而不需要对前端或后台做任何改变从而使得系统扩展轻松方便,透明。
高可管理性: BIGIP有专门的管理软件可以实时监控整个数据库服务器群组的流量状态,并分析发展趋势帮助客户及时根据流量增长增加服务器。
四. 运行结果
在2001年第二季度,F5公司与Quest公司合作成功帮助客户实现了以上解决方案,初期布署了两台”读与查询”数据库服务器和一台”写和更新”数据库服务器。在2001年第三季度成功通过了99.9%高可用性。并真正实现了在线高可扩展性,在2002年增加另外两台读与查询”数据库服务器,并于2002年第三季度增加部署了冗灾备份的功能。
五. 针对Oracle 数据库的负载均衡应用探讨
我们可以通过eBay的成功案例将这种解决方案扩展到以下的应用中:
1. 大型电子商务公司
2. 银行,电信,电力等公众服务型的大型企业
3. 政府电子政务,电子税务等公众服务系统
这些应用系统的后台数据库部署可以采用类似的解决方案,如下图所示:


图六:电子商务类的数据库服务器的负载均衡解决方案
电子商务类应用系统数据库扩展解决方案采用图六的方法,只需要在Web Portal上将数据库请求分成两个不同模块,我们发现,电子商务应用同样有着数据库查询的压力,如果能够有效将查询的压力分解到单独的服务器群来处理,将有效提高电子商务的应用效率。


图七:公众服务行业类的数据库服务器的负载均衡解决方案
针对公众服务类的业务,我们发现如银行,电信,税务等系统,每月和每季度的都会有报表生成汇总,这些报表既包括用户的月结单数据信息,也需要产生总体业务的业绩报告。这样就必须对数据库系统进行检索和查询。如果这些业务工作与实际生产环境是一个数据库的情况下,将造成系统的巨大压力。采用图六的方法,同样能够有效达到高可用性预告可扩展性能的需要!




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: