>데이터 베이스 >MySQL 튜토리얼 >浅谈RAC中的负载均衡

浅谈RAC中的负载均衡

WBOY
WBOY원래의
2016-06-07 15:10:351237검색

一次和同事聊RAC中的负载均衡,聊到服务器端的分发机制时大家都说不清,再此总结一下以备后用。

一次和同事聊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

快速通知,主动推送机制。既通知集群之间的节点,也通知客户端端到集群。

LBA:Load Balance Advisor

负载均衡建议器

本文永久更新链接地址

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.