应用交付

高可用的Oracle数据库负载均衡技术

背景介绍


Oracle RAC主要支持Oracle9i、10g、11g版本,可以支持7×24有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当业务规模需要扩充时,用户可以按需扩展系统,以保证整个系统的处理性能。


Oracle RAC原理


在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量;硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备,同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。此外,所有服务器上的OS都应该是同一类OS,当一个客户端发送请求到某一台服务的listener后,这台服务器会把请求发送给本机的RAC组件处理,也可能会发送给另外一台服务器的RAC组件处理。处理完请求后,RAC会通过集群软件来访问后端的共享存储设备。



从逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache 。


深信服解决方案


在数据库层,通过深信服AD应用交付设备作为应用服务器和Oracle数据库之间的媒介,提供了负载均衡和健康监控的服务。借助AD应用交付设备实现了集中的健康监控,而不需要每台应用服务器都监控数据库服务器,从而卸载了应用服务器的负载,释放宝贵的计算资源。



丰富的负载均衡策略

  • 结合健康检查和业务特点,提供十几种负载均衡算法组合,满足多种生产环境下的业务需求。

  • 支持轮询、加权轮询、加权最少连接、最快响应、动态反馈、优先级等多种灵活的调度机制。


全面的健康检查手段

  • AD内置的节点监视器,可以定义四层和七层的健康检查机制,深度检测服务器的健康状态。

  • 支持基于服务器硬件运行状况的实时监控,并可根据不同应用类型交互机制设定相应的健康检查机制。

  • 支持自定义内容检查机制,通过模拟访问请求来判断服务器应用能否正常响应,业务适应能力强。


方案价值


高可用性

AD负责将每一个请求动态分配到合适的数据库服务器,并且实时检查各个服务器的健康状态,将下一个请求分配到最有效率的服务器。无论任何服务器发生故障时,AD都能将请求调度去其他的服务器,从而达到整个系统的高可用性。


高安全性

AD作为应用服务器到后台数据库的媒介,避免暴露出提供服务的真实服务器IP地址与端口,从而保护数据库服务器不受到诸如SYN Flood 等DoS及DDoS攻击。


高效率

AD负载均衡调度机制,通过实时观测判断出最佳状态的数据库服务器,从而保证用户请求通过响应最快的服务器以提供最佳的查询数据库服务。


高可靠性

对前端应用服务器在处理超时和连接时可能配置不同的软件、版本和行为,AD应用交付设备提供了与数据库的可靠连接,有助于保证所有应用之间的性能一致。

  • 《在你身边, 一起突破》