暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Vertica(五)开发相关3-负载均衡

南山笔记 2021-05-13
564

数据库开发经常需要面临和解决负载均衡的问题,一般是解决客户端连接分配、服务器端工作任务负载分布,以及客户端连接FAILOVERR的问题。


为什么需要负载均衡?针对每个客户端连接,Vertica集群中的主机都需要少量的内存和处理器时间开销。如果许多客户连接到单个主机,此开销可能会开始影响数据库的性能。因此通过负载均衡的方案,可以将客户连接均衡到群集中的不同主机,可以分散客户端连接的开销。另一方面,Vertica的服务器端均衡也可以用于不同类型负载的管理。


首先谈一下服务器端的负载均衡:

1、常规的负载均衡方案,集群的各个节点在查询或者ETL任务时,接受任务的节点产生执行计划,选择开销最小的计划执行,执行过程中根据数据分布,集群的节点参与任务的处理。因此,对Vertica而言,集群的节点会自动参与任务处理,无需特殊处理。

2、负载彼此隔离的方案,更适合Eon方式部署的Vertica。可以将集群划分为多个子集群,可以是一个子集群负责数据装载任务,另外集群负责数据查询任务等。客户端在执行任务时,可以选择访问的集群。

如下图,将集群区分lb_users和lb_etl,前者负责查询任务,后者负责etl任务,客户端分别有不同的地址段,来自etl任务阶段的访问会自动路由到lb_etl组的节点。

实现过程:

    CREATE NETWORK ADDRESS node01 ON v_vmart_node0001 WITH '192.0.2.1';
    CREATE NETWORK ADDRESS node02 ON v_vmart_node0002 WITH '192.0.2.2';
    CREATE NETWORK ADDRESS node03 ON v_vmart_node0003 WITH '192.0.2.3';
    CREATE NETWORK ADDRESS node04 ON v_vmart_node0004 WITH '192.0.2.4';
    CREATE NETWORK ADDRESS node05 ON v_vmart_node0005 WITH '192.0.2.5';
    ^
    CREATE LOAD BALANCE GROUP lb_users WITH FAULT GROUP group_a FILTER '192.0.2.0/24';
    CREATE LOAD BALANCE GROUP lb_etl WITH FAULT GROUP group_b FILTER '192.0.2.0/24';
    CREATE ROUTING RULE users_rule ROUTE '192.0.0.0/5' TO lb_users;
    CREATE ROUTING RULE etl_rule ROUTE '203.0.113.0/24' TO lb_etl;

    客户端访问的负载均衡,Vetica提供了两种方案:

    一种是classic connection load balancing方案,9.2版本之前,这是唯一的解决方案。这种方式要求数据库和客户端都必须启用负载平衡选项。当客户端和服务器都启用负载平衡时,当客户端尝试打开到Vertica的连接时,服务器会根据均衡策略返回客户端需要访问的节点。Vertica提供了ROUNDROBINRANDOM两种方案,实现过程如下:

      #服务器端设置,启用负载均衡
      SELECT SET_LOAD_BALANCE_POLICY('ROUNDROBIN');
      #查看功能是否开启
      SELECT GET_LOAD_BALANCE_POLICY();

      #客户端设置,在url中加入ConnectionLoadBalance参数
      "jdbc:vertica://:5433/?ConnectionLoadBalance=1"

      第二种是Native connection load balancing方案,这是目前服务器和客户端内嵌的解决方案,不仅能解决客户端访问的负载均衡,也可以用于服务器端资源隔离。

      该方案的实现分为三个步骤,1)创建networ address;2)创建负载均衡组;3)创建访问路由规则,根据客户端地址将其路由到不同的服务器组。

      具体过程见服务器端负载隔离的实现,不再赘述。


      由于环境所限,这里只是记录Vertica官方的资料,供参考。



      No.14

      文章转载自南山笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论