配置 TSDBConfig 类

更新时间:

TSDB-Client 的所有配置均由 TSDBConfig 类进行配置。您可以通过 config() 方法构建 TSDBConfig 对象。具体配置说明见下面的示例代码。

示例代码

TSDBConfig config =TSDBConfig
// 配置地址,第一个参数可以是 TSDB 的域名或 IP。第二个参数表示 TSDB 端口。
.address("example.tsdb.com",8242)
// tsdbuser和password 表示用于用户认证的用户名和密码。TSDB用户可在实例管理控制台创建。如果实例未启用用户鉴权功能,则创建Config对象时无需调用basicAuth()方法。
.basicAuth("tsdbuser","password")

// 只读开关,默认为 false。当 readonly 设置为 true 时,异步写开关会被关闭。
.readonly(false)

// 网络连接池大小,默认为64。
.httpConnectionPool(64)

// HTTP 等待时间,单位为秒,默认为90秒。
.httpConnectTimeout(90)

// HTTP连接存在时间长度。单位为秒。默认为0,即不生效,为长连接。建议设置为一个合理值,服务端故障恢复后,客户端通过重新建立连接可达到服务端负载均衡。
.httpConnectionLiveTime(0)

// IO 线程数,默认为1。
.ioThreadCount(1)

// 异步写开关。默认为 true。推荐异步写。
.asyncPut(true)

// 异步写相关,客户端缓冲队列长度,默认为10000。
.batchPutBufferSize(20000)

// 异步写相关,缓冲队列消费线程数,默认为 1。
.batchPutConsumerThreadCount(2)

// 异步写相关,每次批次提交给客户端点的个数,默认为 500。
.batchPutSize(500)

// 异步写相关,每次等待最大时间限制,单位为 ms,默认为 300。
.batchPutTimeLimit(300)

// 异步写相关,写请求队列数,默认等于连接池数。可根据读写次数的比例进行配置。
.putRequestLimit(100)

// 异步写相关,不限制写请求队列数,若关闭可能导致 OOM,不建议关闭。
.closePutRequestLimit()

// 异步写相关,异步批量 Put 回调接口。
.listenBatchPut(newBatchPutCallback(){
// 写入成功时的回调
@Override
publicvoid response(List<Point> input,Result output){;;}
// 写入出现失败时的回调
@Override
publicvoid failed(String address,List<Point> input,Exception ex){;;}
})

// 流量限制,设置每秒最大提交 Point 的个数。
.maxTPS(50000)

.config();// 构造 TSDBConfig 对象