CtyunTsdbRequest是操作 TSDB 的客户端操作类,所以使用TSDB的SDK前首先需要创建 CtyunTsdbRequest 的实例对象。而 CtyunTsdbRequest 的对象会用到TSDB的相关配置,所有配置相关都是在类 CtyunTsdbRequestConfig 中。
创建 CtyunTsdbRequest 类对象需要使用以下两个类:
CtyunTsdbRequestConfig类:CtyunTsdbRequestConfig客户端的基础配置类。
CtyunTsdbRequestFactory类:CtyunTsdbRequest类的工厂类。
通过CtyunTsdbRequestConfig类进行配置,然后放入 CtyunTsdbRequestFactory类的 connect 方法中即可产生一个 CtyunTsdbRequest对象。
注意:在创建 CtyunTsdbRequest对象前,需要先创建 CtyunTsdbRequestConfig 对象。
示例代码
CtyunTsdbRequestConfig config;
CtyunTsdbRequest client;
// www.example.com 表示域名或地址。8585表示 CtyunTsdbRequest的网络端口。您实际的域名地址和网络端口可到控制台获取。
config = CtyunTsdbRequestConfig.builder("www.example.com", 8585).build();
// 通过 CtyunTsdbRequestFactory生成一个 CtyunTsdbRequest对象。
client = CtyunTsdbRequestFactory.connect(config);
|
客户端的所有配置均由 CtyunTsdbRequestConfig 类进行配置。您可以通过 build() 方法构建 CtyunTsdbRequestConfig 对象。具体配置说明见下面的示例代码。
CtyunTsdbRequestConfig config = CtyunTsdbRequestConfig.
//配置地址,第一个参数可以是 TSDB 的域名或IP。第二个参数表示 TSDB端口。
1. address("www.example.com ", 8585)
2.
3. // 网络连接池大小,默认为64。
4. .httpConnectionPool(64)
5.
6. // HTTP 等待时间。
7. .httpConnectTimeout(9000)
8.
9. // IO 线程数,默认为1。
10. .ioThreadCount(1)
11.
12. // 异步写开关。默认为 true。推荐异步写。
13. .asyncPut(true)
14.
15. // 异步写相关,客户端缓冲队列长度,默认为10000。
16. .batchPutBufferSize(20000)
17.
18. // 异步写相关,缓冲队列消费线程数,默认为 5。
19. .batchPutConsumerThreadCount(2)
20.
21. // 异步写相关,每次批次提交给客户端点的个数,默认为 50。
22. .batchPutSize(50)
23.
24. // 异步写相关,每次等待最大时间限制,单位为 ms,默认为 300。
25. .batchPutTimeLimit(300)
26.
27. // 异步写相关,写请求队列数,默认等于连接池数。可根据读写次数的比例进行配置。
28. .putRequestLimit(100)
29.
30. // 异步写相关,不限制写请求队列数,若关闭可能导致 OOM,不建议关闭。
31. .closePutRequestLimit()
32.
33. // 异步写相关,异步批量 Put 回调接口。
34. .listenBatchPut(new BatchPutCallback() {
35. @Override
36. public void response(String address, List<DataPoint> points, Result result) {
37. }
38. })
39. // 流量限制,设置每秒最大提交 Point 的个数,默认为1000。
40. .maxTPS(1000)
41. .build(); // 构造 CtyunTsdbRequestConfig 对象
|