ITPub博客

首页 > 数据库 > Oracle > Oracle负载均衡实现方式

Oracle负载均衡实现方式

Oracle 作者:liuhaimiao 时间:2014-08-19 09:10:16 0 删除 编辑

实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力。

  通常情况下有两种方式来实现负载均衡

一个是基于客户端连接的负载均衡


客户端的负载均衡主要是通过为tnsnames.ora增加load_balance=yes条目来实现,下面看看oracle(Note:226880.1)的解释

        The client load balancing feature enables clients to randomize connection requests among the listeners. Oracle Net progresses through the list of  protocol addresses in a random sequence, balancing the load on the various listeners. Without client load balancing, Oracle Net progresses through the list of protocol addresses sequentially until one succeeds. This normally is referred to connect-time load balance.

    从上面的描述中可以得知,如果未开启load_balance=yes时,Oracle Net会根据地址列表按顺序来选择一个进行连接,直到连接成功为止。 如果第一个host主机连接失败,在有多个地址的情形下,接下来选择第二个地址连接,依此类推,直到连接成功为止。当开启了load_balance=yes时,则Oracle Net会从多个地址中随机地选择一个地址进行连接,直到连接成功为止。注意,此连接方式仅根据地址列表随机选择,并不考虑到各个实例上当前真正连接数量的多少,也即是没有考虑各个节点真实的连接负载情况


    二是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式。


Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去。当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到service_register。而对于节点中任意监听器故障或监听器意外失败时,PMON进程会每1秒钟检查当前节点上的监听是否重启,以获得最新的负载信息来及时调整负载均衡。


引文地址:

http://blog.csdn.net/robinson_0612/article/details/8072367

http://blog.csdn.net/robinson_0612/article/details/8064599

http://blog.csdn.net/robinson_0612/article/details/8060634

http://www.cnblogs.com/millen/archive/2009/05/06/1450844.html

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

请登录后发表评论 登录
全部评论
sap技术顾问

注册时间:2014-07-29

  • 博文量
    933
  • 访问量
    862036