时序引擎客户端的所有配置均由 TSDBConfig 类进行配置。
您可以通过 config() 方法构建 TSDBConfig 对象。具体配置说明见下面的示例代码。
示例代码
TSDBConfig config = TSDBConfig
// 配置地址,第一个参数可以是时序引擎的域名或 IP。第二个参数表示时序引擎端口。
.address("example.tsdb.com", 8242)
// tsdbuser和password 表示用于用户认证的用户名和密码。时序引擎用户可在实例管理控制台创建。如果实例未启用用户鉴权功能,则创建Config对象时无需调用basicAuth()方法。
.basicAuth("tsdbuser", "password")
// 只读开关,默认为 false。当 readonly 设置为 true 时,异步写开关会被关闭。
.readonly(false)
// 网络连接池大小,默认为64。
.httpConnectionPool(64)
// HTTP 等待时间,单位为秒,默认为90秒。
.httpConnectTimeout(90)
// 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(new BatchPutCallback() {
// 写入成功时的回调
@Override
public void response(List<Point> input, Result output) {;;}
// 写入出现失败时的回调
@Override
public void failed(String address, List<Point> input, Exception ex) {;;}
})
// 流量限制,设置每秒最大提交 Point 的个数。
.maxTPS(50000)
.config(); // 构造 TSDBConfig 对象