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 |