用戶端初始化
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 |