1.3.13 Client配置
优质
小牛编辑
126浏览
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层面的机制,指请求失败经过避让时间后自动重试