GBASE南大通用集群负载均衡

如果我们需要将连接请求分摊到集群的每个节点上时,可以使用集群负载均衡功能(该功能需要 GBASE南大通用 ADO.NET 8.3.81.53 及以上版本)。集群负载均衡

功能与集群高可用功能都属于客户端负载均衡解决方案。使用GBASE南大通用此功能时,需同时设置连接串的 Failover、IpList、GClusterID 参数。

GBASE南大通用集群负载均衡支持多集群的情况,即在一个应用中可以指定多个集群共同分担负载。但在每个连接串中只能指明一个 GClusterID 和此集群的 IpList。

假设存在如下场景:

 现有集群 G1 中存在三个节点,18 个连接请求。节点 1:192.168.0.2 节点 2:192.168.0.3 节点 3:192.168.0.4。

 连接串中设置 server、iplist 和 GClusterID 参数。

String _ConnString =

‚server=192.168.0.2;failover=true;iplist=192.168.0.3;192.168.0.

4;gclusterid=g1" ;

 接口会将 18 个连接请求分摊在节点 1、节点 2 和节点 3 上,分摊后每

个节点上会有 6 个请求线程。

注:当某个连接请求访问集群节点 1 时,接口发现节点 1 故障后,在后续的连接请求到来时接口将不再给节点 1 分配请求,而会将请求分配给节点 2(若节点 2 故障时会分配给节点 3)。

下面例子介绍如何开启集群负载均衡。例子中会创建 18 个连接对象,使用192.168.0.2、192.168.0.3、192.168.0.4 做为负载均摊节点。

C# 示例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Diagnostics;

using System.Data;

using GBase.Data.GBaseClient;

namespace UsingAdoNet

{

class Program

{

static void Main(string[] args)

{

String _ConnStr = "server=192.168.0.2;user

id=root;password=1;database=test;port=5258;pooling=false;failover=tr

ue;iplist=192.168.0.3, 192.168.0.4;gclusterid=g1";

GBaseConnection[] _Conn = new GBaseConnection[18];

try

{

for (int i = 0; i < _Conn.Length; i++)

{

_Conn[i] = new GBaseConnection(_ConnStr);

_Conn[i].Open();

Thread.Sleep(2000);

}

}

catch (System.Exception ex)

{

Assert.Fail(ex.Message);

}

finally

{

for (int i = 0; i < _Conn.Length; i++)

{

if (_Conn[i] != null)

{

if (_Conn[i].State ==

System.Data.ConnectionState.Open )

_Conn[i].Close();

}

}

}

}

}

}

相关推荐
YGGP16 分钟前
【每日八股】Redis篇(二):数据结构
数据结构·数据库·redis
愉悦的麻婆豆腐27 分钟前
Neo4j使用neo4j-admin导入csv数据方法
数据库·neo4j
夜泉_ly3 小时前
MySQL -安装与初识
数据库·mysql
qq_529835354 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New7 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6757 小时前
数据库基础1
数据库
我爱松子鱼7 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo7 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser8 小时前
【SQL】多表查询案例
数据库·sql
Galeoto8 小时前
how to export a table in sqlite, and import into another
数据库·sqlite