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 |