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

}

}

}

}

}

}

相关推荐
菜鸟小九8 小时前
redis高级(存储能力问题)
数据库·redis·缓存
+VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue酒店预订系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
hunter14508 小时前
2026.1.20 sql server简单操作
数据库·oracle
liux35289 小时前
MySQL集群架构:MySQL InnoDB Cluster (MIC)详解(十一)
数据库·mysql·架构
小北方城市网9 小时前
MySQL 索引优化实战:从慢查询到高性能
数据库·spring boot·后端·mysql·rabbitmq·mybatis·java-rabbitmq
Chan169 小时前
《Java并发编程的艺术》| 并发关键字与 JMM 核心规则
java·开发语言·数据库·spring boot·java-ee·intellij-idea·juc
l1t9 小时前
DeepSeek对AliSQL 集成 DuckDB 的总结
数据库·sql·mysql·duckdb
想起你的日子9 小时前
ASP.NET Core EFCore之DB First
数据库·.netcore
SeaTunnel9 小时前
Apache SeaTunnel MySQL CDC 支持按时间启动吗?
大数据·数据库·mysql·开源·apache·seatunnel
韩立学长10 小时前
Springboot喵趣网上宠物店的设计和实现5pidz60b(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端