客户端初始化

LindormTSDBClient是Lindorm时序引擎的Java客户端,用于读写Lindorm时序引擎的数据。使用Java Native SDK发起Lindorm时序引擎读写请求前,您需要初始化一个LindormTSDBClient实例,并根据需要修改ClientOptions的默认配置项。

新建LindormTSDBClient

新建LindormTSDBClient时,需要指定数据库连接地址。Lindorm时序引擎连接地址的获取方法,请参见查看连接地址

在创建LindormTSDBClient时还可以配置连接超时时间、攒批写入的批次大小、最大重试次数等可选参数,示例如下。

// 获取Lindorm时序引擎的HTTP连接地址
String url = "http://ld-bp1489gr5t*****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242";
// 用户名
String username = "username";
// 用户密码
String password = "password";
// 访问的数据库
String db = "default";

// ClientOptions参数的具体含义和默认值,可以参考'配置LindormTSDBClient'章节
ClientOptions options = ClientOptions
                // 必选
                .newBuilder(url)
                // 若实例未开启鉴权,则可选;否则必选
                .setUsername(username)
                // 若实例未开启鉴权,则可选;否则必选
                .setPassword(password)
                // 可选
                .setNumBatchThreads(8)
                // 可选
                .setMaxRetries(3)
                // 可选
                .setRetryBackoffMs(1000)
                 // 可选
                .setRequestTimeoutMs(30000)
                 // 可选
                .setConnectTimeoutMs(30000)
                 // 可选
                .setMaxWaitTimeMs(300)
                 // 可选
                .setBatchSize(500)
                 // 可选
                .setMaxPointBatches(32) 
                 // 可选    
                .setDefaultDatabase(db)
                 // 可选
                .setQueryChunkSize(1000)
                 // 可选
                .setSchemaPolicy(SchemaPolicy.WEAK)
                .build();

// 创建LindormTSDBClient实例,LindormTSDBClient线程安全,可以重复使用,无需频繁创建和销毁
LindormTSDBClient client = LindormTSDBFactory.connect(options);

// 关闭LindormTSDBClient实例
client.shutdown();

配置LindormTSDBClient

ClientOptions是LindormTSDBClient的配置类,您可通过此类来配置连接超时、异步攒批写入的批次大小、最大重试次数等参数。可设置的参数如下:

参数

是否必填

描述

方法

url

必填

Lindorm时序引擎的连接地址。

ClientOptions.Builder()

username

若Lindorm时序引擎开启鉴权,则必须指定。

用户名。

ClientOptions.Builder#setUsername

password

若Lindorm时序引擎开启鉴权,则必须指定。

密码。

ClientOptions.Builder#setPassword

numBatchThreads

可选

攒批异步写入的线程数,默认为8。

ClientOptions.Builder#setNumBatchThreads

maxRetries

可选

当写入遇到服务端内部错误或者网络错误时最大重试次数,默认值为3。

ClientOptions.Builder#setMaxRetries

retryBackoffMs

可选

写入失败后重试等待时间,单位为毫秒,默认值为1000,即失败后等待1000毫秒后再尝试发送数据。

ClientOptions.Builder#setRetryBackoffMs

requestTimeoutMs

可选

请求超时时间,单位为毫秒,默认值为30000。

ClientOptions.Builder#setRequestTimeoutMs

connectTimeoutMs

可选

连接超时时间,单位为毫秒,默认值为30000。

ClientOptions.Builder#setConnectTimeoutMs

maxWaitTimeMs

可选

数据点攒批时在队列中的最大等待时间,单位为毫秒,默认值为300。

ClientOptions.Builder#setMaxWaitTimeMs

batchSize

可选

攒批写入时每次向服务端发送的批次大小,默认值为500。

ClientOptions.Builder#setBatchSize

maxPointBatches

可选

攒批写入时队列中保存的最大批数,默认值为32。

说明

队列中保存的最大点数为:maxPointBatches乘以batchSize。如果保存超出最大点数会阻塞写入。

ClientOptions.Builder#setMaxPointBatches

defaultDatabase

可选

读写默认数据库,默认值为default;Lindorm时序引擎实例会默认创建一个名为default的数据库。

ClientOptions.Builder#setDefaultDatabase

queryChunkSize

可选

默认每批返回的行数,默认值为1000。

ClientOptions.Builder#setQueryChunkSize

schemaPolicy

可选

Schema约束策略,可设置以下三种策略:STRONG、WEAK和NONE。默认为STRONG策略。

说明

SchemaPolicy详细介绍,参见Schema约束

ClientOptions.Builder#setSchemaPolicy