GBase ADO.NET集群高可用

在通过 GBase ADO.NET 访问 GBase 集群时,如果集群当前节点不可用,希 望直接连接到集群中一个可用的节点上时,我们可以使用 GBase ADO.NET 集群 高可用性功能(该功能需要 GBase ADO.NET 8.3.81.53 及以上版本)。

GBase ADO.NET 集群高可用性是接口针对GBase集群开发的在接口层面的高 可用性处理。

高可用性适用于扁平结构的 GBase 集群,在通过 GBase ADO.NET 创建连接 时,如果当前节点不可用时,接口会根据相关参数信息把连接数据库请求自动 路由到集群其他可用的节点上。

假设存在如下场景:

 现有集群中存在如下三个节点。

节点 1:192.168.0.2 节点 2:192.168.0.3 节点 3:192.168.0.4

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

String _ConnString = “

server=192.168.0.2;failover=true;iplist=192.168.0.3;192.168.0.4” ;

 当应用连接到集群中节点 1 时发现故障,此时接口不抛出错误而会将 连接请求转移给节点 2,并返回给客户端,下图说明了此种场景。
GBase ADO.NET集群高可用

下面例子介绍如何开启集群高可用功能,并使用 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;userid=root;password=1;database=test;port=5258;pooling=false;failover=tr ue;iplist=192.168.0.3,192.168.0.4″;

using (GBaseConnection _Conn = new GBaseConnection())

{

try

{

_Conn.ConnectionString = _ConnStr;

_Conn.Open();

// do something

}

catch (GBaseException ex)

{

Console.WriteLine(ex.StackTrace);

}

finally

{

if( _Conn != null )

_Conn.Close();

}

}

}

}

}

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317772.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

登录后才能评论