ITPub博客

首页 > 数据库 > Oracle > 浅谈RAC中的负载均衡

浅谈RAC中的负载均衡

原创 Oracle 作者:SnowDBA 时间:2015-09-05 09:13:44 0 删除 编辑
一次和同事聊RAC中的负载均衡,聊到服务器端的分发机制时大家都说不清,再此总结一下以备后用。

载均衡Load Balance
  • 客户端load balance
  • 服务器端load balance
客户端load balance
客户端发起应用请求时,首先通过tnsnames.ora中随机选择一个vip地址,然后通过该vip地址发起请求。这个vip地址实际上就是连接高可用的核心。当客户端访问的实例宕机了,甚至vip已经漂移到其它存活节点,这次连接就失败了。通知服务(FAN)会立刻通知客户端采用其它的vip重新连接,客户端选择tnsnames.ora中的其它vip继续尝试,直到连接成功为止。如果不采用vip方式连接,而直接使用IP地址连接不行么?答案是行,但是连接失败后需要30秒才能通知到客户端,30秒的代价太大了,完全失去了高可用的意义。

客户端的load balance不会判断当前服务器的负载,它只是随机分发。包括11gR2推出的SCAN也不会判断服务器端负载,它按照注册的3个vip地址轮询分发。服务器端的负载是如何判断的呢,我们继续往下看。

服务器端load balance
服务器端的负载均衡是监听器remote listener和local listener来合作完成的。监听器将当前负载信息在LBA(Load Balance Advisor)中注册,并且可以根据服务时间和吞吐量来设定负载类型。如果是Web服务可以配置服务时间作为负载均衡的条件,如果是查询密集型操作可以配置吞吐量类型。

总结一下上面的描述,客户端通过vip来实现连接高可用,服务器端通过remote listener,local listener和LBA的配置实现load balance。

在load balance中有两个总要的概念:
FAN:Fast Application Notification
快速通知,主动推送机制。既通知集群之间的节点,也通知客户端端到集群。

LBALoad Balance Advisor
负载均衡建议器

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1791285/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-21

  • 博文量
    223
  • 访问量
    1507234