TSDBConfig.Builder
本文介紹了TSDBConfig.Builder的類型和說明。
類全名:com.aliyun.hitsdb.client.TSDBConfig.Builder
java.lang.Object
com.aliyun.hitsdb.client.TSDBConfig.Builder
封閉類:TSDBConfig
publicstaticclassTSDBConfig.BuilderextendsObject
構(gòu)造器概要
構(gòu)造器
說明
Builder
(String host, int port)
使用TSDB地址與端口創(chuàng)建TSDBConfig.Builder實例。方法概要
方法
說明
asyncPut(boolean asyncPut)
異步寫開關(guān)。默認為 true。推薦異步寫。
batchPutBufferSize(int batchPutBufferSize)
異步寫相關(guān),設(shè)置客戶端緩沖隊列長度,默認為10000。batchPutConsumerThreadCount(int batchPutConsumerThreadCount)
異步寫相關(guān),設(shè)置緩沖隊列消費線程數(shù),默認為1。
basicAuth(String tsdbUser, String basicPwd)
用戶認證相關(guān)。
配置認證時所用的TSDB的用戶名和密碼。該方法自SDK的0.2.7版本開始支持,且TSDB的用戶認證鑒權(quán)功能自引擎版本v2.5.13開始支持。
batchPutSize(int batchPutSize)
異步寫相關(guān),設(shè)置每次批次提交給客戶端點的個數(shù),默認為500。
batchPutTimeLimit(int batchPutTimeLimit)
異步寫相關(guān),每次等待最大時間限制,單位為 ms,默認為300。
closePutRequestLimit()
異步寫相關(guān),不限制寫請求隊列數(shù),若關(guān)閉可能導致 OOM,不建議關(guān)閉。
config()
構(gòu)造 TSDBConfig 對象。
deduplicationEnable()
異步寫相關(guān),指定在每個寫入批次(batch)中進行數(shù)據(jù)點去重。同一批次中數(shù)據(jù)點去重的標準。
metric相同
tags各個標簽的key、value都相同
field相同(多值模型中)
timestamp相同
httpCompress(boolean httpCompress)
是否開啟HTTP傳輸壓縮。
httpConnectionLiveTime(int httpConnectionLiveTime)
連接存在時間長度。單位為秒。默認為0,即不生效,為長連接。建議設(shè)置為一個合理值,見下方詳細說明。
httpConnectionPool(int connectionPool)
HTTP連接池大小。
httpConnectTimeout(int httpConnectTimeout)
HTTP 等待時間,單位為秒,默認為90秒。
httpKeepaliveTime(int httpKeepaliveTime)
HTTP Keepalive時間。
ioThreadCount(int ioThreadCount)
IO 線程數(shù),默認為1。
listenBatchPut(AbstractBatchPutCallback<?> cb)
設(shè)置異步寫回調(diào),異步批量 Put 回調(diào)接口。
maxTPS(int maxTPS)
限制寫入端最大TPS,默認不限制。
openHttpCompress()
打開HTTP壓縮傳輸
putRequestLimit(int limit)
異步寫相關(guān),寫請求隊列數(shù),默認等于連接池數(shù)。可根據(jù)讀寫次數(shù)的比例進行配置。
readonly()
打開只讀開關(guān)。當 readonly 設(shè)置為 true 時,異步寫開關(guān)會被關(guān)閉。
readonly(boolean readonly)
配置只讀開關(guān),默認為 false。當 readonly 設(shè)置為 true 時,異步寫開關(guān)會被關(guān)閉。
從類繼承的方法 java.lang.Object
clone
,equals
,finalize
,getClass
,hashCode
,notify
,notifyAll
,toString
,wait
。
構(gòu)造器詳細資料
Builder
public Builder(String host,int port)
Builder
public Builder(TSDBNetAddress… netAddresses)
方法詳細資料
putRequestLimit
public TSDBConfig.Builder putRequestLimit(int limit)
batchPutBufferSize
public TSDBConfig.Builder batchPutBufferSize(int batchPutBufferSize)
batchPutConsumerThreadCount
public TSDBConfig.Builder batchPutConsumerThreadCount(int batchPutConsumerThreadCount)
batchPutRetryCount
public TSDBConfig.Builder batchPutRetryCount(int batchPutRetryCount)
batchPutSize
public TSDBConfig.Builder batchPutSize(int batchPutSize)
batchPutTimeLimit
public TSDBConfig.Builder batchPutTimeLimit(int batchPutTimeLimit)
closePutRequestLimit
public TSDBConfig.Builder closePutRequestLimit()
closeBackpressure
public TSDBConfig.Builder closeBackpressure()
deduplicationEnable
public TSDBConfig.Builder deduplicationEnable()
說明對于多值數(shù)據(jù)而言,去重標準精確到field。如果上報的一個MultiFieldPoint對象中有一個field滿足上述去重條件,其余field不滿足。則只有滿足條件的field會參與到去重邏輯的判定中,其余field不會被執(zhí)行去重邏輯。
httpConnectionLiveTime
public TSDBConfig.Builder httpConnectionLiveTime(int httpConnectionLiveTime
說明默認值為0,即為長連接。使用長連接在實際生產(chǎn)環(huán)境可能會出現(xiàn)由于服務端負載不均衡導致服務端性能下降的情況。因為目前TSDB采用多節(jié)點提供服務,當一個節(jié)點故障后,客戶端到該節(jié)點的連接會切換到其他正常節(jié)點。故障節(jié)點恢復后,如果使用長連接會導致該節(jié)點在沒有新的連接請求的情況時,無法提供服務。客戶端通過設(shè)置httpConnectionLiveTime可以使客戶端連接定時斷開并重新建立來達到服務端負載均衡的目的。
httpKeepaliveTime
public TSDBConfig.Builder httpKeepaliveTime(int httpKeepaliveTime)
readonly
public TSDBConfig.Builder readonly()
readonly
public TSDBConfig.Builder readonly(boolean readonly)
asyncPut
public TSDBConfig.Builder asyncPut(boolean asyncPut)
maxTPS
public TSDBConfig.Builder maxTPS(int maxTPS)
config
public TSDBConfig config()
httpCompress
public TSDBConfig.Builder httpCompress(boolean httpCompress)
httpConnectionPool
public TSDBConfig.Builder httpConnectionPool(int connectionPool)
httpConnectTimeout
public TSDBConfig.Builder httpConnectTimeout(int httpConnectTimeout)
ioThreadCount
public TSDBConfig.Builder ioThreadCount(int ioThreadCount)
listenBatchPut
public TSDBConfig.Builder listenBatchPut(AbstractBatchPutCallback<?> cb)
openHttpCompress
public TSDBConfig.Builder openHttpCompress()
說明默認值為0,即為長連接。使用長連接在實際生產(chǎn)環(huán)境可能會出現(xiàn)由于服務端負載不均衡導致服務端性能下降的情況。因為目前TSDB采用多節(jié)點提供服務,當一個節(jié)點故障后,客戶端到該節(jié)點的連接會切換到其他正常節(jié)點。故障節(jié)點恢復后,如果使用長連接會導致該節(jié)點在沒有新的連接請求的情況時,無法提供服務。客戶端通過設(shè)置httpConnectionLiveTime可以使客戶端連接定時斷開并重新建立來達到服務端負載均衡的目的。