1.3.13 Client配置

优质
小牛编辑
124浏览
2023-12-01

以java sdk中的client为例说明,其他语言请参照修改
SDS client区分为TableClient和AdminClient,对应DDL和DML操作,都是由ClientFactory配置不同的服务路径生成的, 参照demo(例如Basic.java).
一般情况下,用户只需要配置Key/Secret,Endpoint即可访问SDS服务
特殊情况下,如操作需要较长耗时,如DDL操作,scanAll等,需要配置client某些参数

配置socket连接池

下面代码示例配置连接池大小为5

ClientFactory clientFactory = new ClientFactory().setCredential(credential)
             .setHttpClient(ClientFactory.generateHttpClient(5,5));

generateHttpClient方法
第一个参数为maxTotalConnections,即连接池大小
第二个参数为maxTotalConnectionsPerRoute,每个路由(route)最大连接数,
因为一个client实例访问的域名是固定的,这个参数与连接池大小设置一致即可

配置超时时间和重试机制

下面代码示例生成TableClient并设置
socketTimeout为5秒
connTimeout为3秒
retry为true
retry次数为5

clientFactory.newTableClient(host + CommonConstants.TABLE_SERVICE_PATH,
        5000, 3000, true, 5);

SDS client会包装一个httpclient, socketTimeout/connectTimeout设置的是httpclient参数
socketTimeout 指等待数据的时间或者两个包之间的间隔时间
connectTimeout 指链接建立的时间
retry是SDS client层面的机制,指请求失败经过避让时间后自动重试