客户端初始化

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

新建LindormTSDBClient

新建LindormTSDBClient时,需要指定数据库连接串URL。Lindorm时序引擎连接字符串的获取方法可参见查看连接地址。在创建LindormTSDBClient时还可以配置连接超时时间、攒批写入的批次大小、最大重试次数等可选参数,示例如下所示。

// 获取Lindorm时序引擎的连接串
String url = "http://ld-xxxx-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242";
// 用户名
String username = "username";
// 用户密码
String password = "password";

// ClientOptions参数的具体含义和默认值,可以参考'配置LindormTSDBClient'小节的内容
ClientOptions options = ClientOptions
                // 必选
                .newBuilder(url)
                // 若实例未开启鉴权,则可选;否则必选
                .setUsername(username)
                // 若实例未开启鉴权,则可选;否则必选
                .setPassword(password)
                // 可选
                .setNumBatchThreads(1)
                // 可选
                .setMaxRetries(3)
                // 可选
                .setRetryBackoffMs(1000)
                 // 可选
                .setRequestTimeoutMs(30000)
                 // 可选
                .setConnectTimeoutMs(30000)
                 // 可选
                .setMaxWaitTimeMs(300)
                 // 可选
                .setBatchSize(500)
                 // 可选
                .setMaxPointBatches(256)  
                .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

可选

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

ClientOptions.Builder#setNumBatchThreads

maxRetries

可选

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

ClientOptions.Builder#setMaxRetries

retryBackoffMs

可选

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

ClientOptions.Builder#setRetryBackoffMs

requestTimeoutMs

可选

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

ClientOptions.Builder#setRequestTimeoutMs

connectTimeoutMs

可选

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

ClientOptions.Builder#setConnectTimeoutMs

maxWaitTimeMs

可选

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

ClientOptions.Builder#setMaxWaitTimeMs

batchSize

可选

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

ClientOptions.Builder#setBatchSize

maxPointBatches

可选

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

说明

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

ClientOptions.Builder#setMaxPointBatches

defaultDatabase

可选

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

ClientOptions.Builder#setDefaultDatabase

queryChunkSize

可选

查询时的默认每批返回的行数大小,默认值为1000。

ClientOptions.Builder#setQueryChunkSize

schemaPolicy

可选

表的元数据约束策略,可设置以下Strong和Weak两种策略。默认为Strong策略。

说明

关于SchemaPolicy可详细参见关于时序数据的Schema约束

ClientOptions.Builder#setSchemaPolicy

阿里云首页 云原生多模数据库 Lindorm 相关技术圈