使用GBase C API 负载均衡
使用GBase CAPI 负载均衡创建到8a 集群的连接时,客户端最少应该把8a
集群一个安全组的节点ip 地址传给GBase CAPI。如
host="192.168.1.1;192.168.1.2"。如果8a 集群一个安全组只有一个节点,那
么客户端应该这样传给GBase CAPI 集群的节点:host="192.168.1.1;"。字符
串中ip 地址后的分号是必须的。
使用GBase CAPI 负载均衡创建到8a 集群的连接时,如果没有设置
"GBASE_OPT_USE_SERVER_BALANCE"选项的值(该值默认为0)
,那么GBase
CAPI
将在客户端传入的ip 地址间进行负载均衡。如果设置
"GBASE_OPT_USE_SERVER_BALANCE"选项的值为1,
那么GBase
CAPI 将在8a 集群
所有节点之间进行负载均衡。如下是使用GBase CAPI 负载均衡的代码样例。
#include
#include
#include
#include "gbase.h"
int test_banalce()
{
GBASE* gbase = NULL;
char* host = "192.168.1.1;";
char* user = "gbase";
char* pwd = "gbase20110531";
char* db = "test";
int port = 5258;
int rc = 0;
GBase 8a 程序员手册C API 篇
- 88 -
南大通用数据技术股份有限公司
int use_server_balance = 1;
gbase = gbase_init(NULL);
gbase_options(gbase, GBASE_OPT_USE_SERVER_BALANCE,
(void*)&use_server_balance);
if(!gbase_real_connect(gbase, host, user, pwd, db, port, NULL,
0))
{
fprintf(stderr, "%d\n%s\n",gbase_errno(gbase),
gbase_error(gbase));
rc = 1;
}
else
{
printf("%s\n", gbase_get_host_info(gbase));
}
gbase_close(gbase);
return rc;
}
int main()
{
int i = 0;
for(;i < 20; i++)
{
test_banalce();
usleep(2*1000);
}
return 0;
}