全部产品

配置 TSDBConfig 类

更新时间:2020-08-12 15:51:43

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

示例代码

  1. TSDBConfig config = TSDBConfig
  2. // 配置地址,第一个参数可以是 TSDB 的域名或 IP。第二个参数表示 TSDB 端口。
  3. .address("example.tsdb.com", 8242)
  4. // tsdbuser和password 表示用于用户认证的用户名和密码。TSDB用户可在实例管理控制台创建。如果实例未启用用户鉴权功能,则创建Config对象时无需调用basicAuth()方法。
  5. .basicAuth("tsdbuser", "password")
  6. // 只读开关,默认为 false。当 readonly 设置为 true 时,异步写开关会被关闭。
  7. .readonly(false)
  8. // 网络连接池大小,默认为64。
  9. .httpConnectionPool(64)
  10. // HTTP 等待时间,单位为秒,默认为90秒。
  11. .httpConnectTimeout(90)
  12. // IO 线程数,默认为1。
  13. .ioThreadCount(1)
  14. // 异步写开关。默认为 true。推荐异步写。
  15. .asyncPut(true)
  16. // 异步写相关,客户端缓冲队列长度,默认为10000。
  17. .batchPutBufferSize(20000)
  18. // 异步写相关,缓冲队列消费线程数,默认为 1。
  19. .batchPutConsumerThreadCount(2)
  20. // 异步写相关,每次批次提交给客户端点的个数,默认为 500。
  21. .batchPutSize(500)
  22. // 异步写相关,每次等待最大时间限制,单位为 ms,默认为 300。
  23. .batchPutTimeLimit(300)
  24. // 异步写相关,写请求队列数,默认等于连接池数。可根据读写次数的比例进行配置。
  25. .putRequestLimit(100)
  26. // 异步写相关,不限制写请求队列数,若关闭可能导致 OOM,不建议关闭。
  27. .closePutRequestLimit()
  28. // 异步写相关,异步批量 Put 回调接口。
  29. .listenBatchPut(new BatchPutCallback() {
  30. // 写入成功时的回调
  31. @Override
  32. public void response(List<Point> input, Result output) {;;}
  33. // 写入出现失败时的回调
  34. @Override
  35. public void failed(String address, List<Point> input, Exception ex) {;;}
  36. })
  37. // 流量限制,设置每秒最大提交 Point 的个数。
  38. .maxTPS(50000)
  39. .config(); // 构造 TSDBConfig 对象