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();

}

}

}

}

}

}

相关推荐
2301_8227828210 分钟前
自动化与脚本
jvm·数据库·python
qq_1481153712 分钟前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
2401_8785302144 分钟前
机器学习与人工智能
jvm·数据库·python
tianyuanwo1 小时前
MySQL 深度解析:从核心概念到实战指南,及数据库选型决策
数据库·mysql·centos
代码探秘者1 小时前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
深蓝轨迹1 小时前
Redis 消息队列
java·数据库·redis·缓存·面试·秒杀
曹牧2 小时前
Oracle:分批查询
数据库·oracle
祭曦念2 小时前
MySQL基础运维:mysqldump全量备份与恢复实操 | 新手可直接落地的备份指南
运维·数据库·mysql
于樱花森上飞舞2 小时前
【Redis】初识Redis
数据库·redis·缓存
羊小猪~~2 小时前
【QT】-- QMainWindow简介
开发语言·数据库·c++·后端·qt·前端框架·求职招聘