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

GBASE南大通用GBase ADO.NET集群高可用

原创 郑小雯 2024-02-05
144

在通过 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,并返回给客户端,下图说明了此种场景。  

下面例子介绍如何开启集群高可用功能,并使用 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();

 } 

 }

 }

 }

 }  

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论