SDK 名稱Consumer 類型使用場景及注意事項

Java

DebugConsumer

用於校驗數據匯入是否正確,關於 除錯模式 的詳細資訊,請進入相關頁面查看。請注意:Debug 模式是為方便開發者除錯而設定的模式,該模式會逐條校驗數據並在校驗失敗時拋出異常,效能遠低於正常模式。

線上環境使用 Debug 模式會嚴重影響效能並存在崩潰的風險,產品上線前請務必替換掉/關閉 Debug 模式。 

ConcurrentLoggingConsumer

用於將數據輸出到指定目錄按天或時切割產生 log,並使用 LogAgent 等工具匯入,該工具能保證匯入不重複、不遺漏。ConcurrentLoggingConsumer 內部有一個 8k 的快取佇列,當快取佇列寫滿時落盤寫入磁碟 log 檔中(如果測試的數據量較少,達不到快取上限,則數據不會落盤到 log)。快取佇列的長度可在建構函式中設定,也可以呼叫 flush() 方法強制落盤。推薦在生產環境中使用 ConcurrentLoggingConsumer 匯入數據。支援多個處理程序寫同一個目錄(目錄不能是 nas、nfs 類檔案系統),產生的檔案始終是帶日期後綴的。

LoggingConsumer

已不推薦在生產環境中使用,因為在多處理程序下檔案切分可能有問題。已使用 LoggingConsumer 的客戶建議按照如下步驟切換到 ConcurrentLoggingConsumer

BatchConsumer

通常用於匯入小規模歷史數據,或者離線 / 旁路匯入數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。批量傳送數據的 Consumer,當數據達到指定的量時(預設50條,最多可指定1000條),才將數據進行傳送。也可以呼叫 flush() 方法去強制傳送。

ConsoleConsumer

用於將數據輸出到 console,一般用於在生產環境的 Java 程式中處理歷史數據,產生log 檔並使用 BatchImporter 等工具匯入。

C

SALoggingConsumer

用於將事件以 log 檔的形式記錄在本地磁碟中。

C#ConcurrentLoggingConsumer

只能將 log 落盤,執行緒安全。無傳送功能。需要搭配匯入工具使用。

LoggingConsumer只能將 log 落盤,執行緒安全。無傳送功能。需要搭配匯入工具使用。(繼承自 ConcurrentLoggingConsumer)
ClientConsumer

可以將 log 落盤,呼叫 flush 介面將 log 傳往 server_url。併發性差,同步傳送。

BatchConsumer

log 不落盤,直接傳送,同步傳送。

NodeLoggingConsumer

log 落盤,搭配匯入工具使用。注意:需要配置 disableReNameOption,否則會修改屬性名。

PHPFileConsumer將待傳送的數據寫入指定的本地檔案,後續可以使用 LogAgent 或者 BatchImporter 來進行匯入。
BatchConsumer

通常用於匯入小規模歷史數據,或者離線 / 旁路匯入數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中 。使用 CURL 批量傳送數據的 Consumer,當且僅當數據達到指定的量時,才將數據進行傳送。

DebugConsumer

用於校驗數據匯入是否正確,關於 除錯模式 的詳細資訊,請進入相關頁面查看。

請注意:Debug 模式是為方便開發者除錯而設定的模式,該模式會逐條校驗數據並在校驗失敗時拋出異常,效能遠低於正常模式。線上環境使用 Debug 模式會嚴重影響效能並存在崩潰的風險,產品上線前請務必替換掉/關閉 Debug 模式。

RubyDebugConsumer

用於校驗數據匯入是否正確。注意:Debug 模式是為方便開發者除錯而設定的模式,該模式會逐條校驗數據並在校驗失敗時拋出異常,效能遠低於正常模式。線上環境使用 Debug 模式會嚴重影響效能並存在崩潰的風險,產品上線前請務必替換掉/關閉 Debug 模式。

DefaultConsumer

通常用於匯入小規模歷史數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。普通 Consumer,實作,逐條、同步的傳送數據給接收伺服器。

BatchConsumer

通常用於匯入小規模歷史數據,或者離線 / 旁路匯入數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失。批量傳送數據的 Consumer,當且僅當數據達到指定的量時,才將數據進行傳送。

PythonLoggingConsumer

用於將數據輸出到指定目錄並按天切割檔案,一般用於在 Python 腳本中處理即時數據,產生 log 檔並使用 LogAgent 等工具匯入。適用於單一處理程序之程式。可以透過參數配置切分間隔和保留的檔案數,預設是每天0點切割,保留所有檔案。

ConcurrentLoggingConsumer

用於將數據輸出到指定目錄,並自動按 切割檔案,與 LoggingConsumer 不同的是,它支援多處理程序寫入同一個檔案。一般用於 Django、uWSGI 等特殊的多處理程序場景。

DebugConsumer

用於校驗數據匯入是否正確,關於 除錯模式 的詳細資訊,請進入相關頁面查看。請注意:Debug 模式是為方便開發者除錯而設定的模式,該模式會逐條校驗數據並在校驗失敗時拋出異常,效能遠低於正常模式。線上環境使用 Debug 模式會嚴重影響效能並存在崩潰的風險,產品上線前請務必替換掉/關閉 Debug 模式。

ConsoleConsumer

用於將數據輸出到標準輸出,一般用於在 Python 腳本中處理歷史數據,產生 log 檔並使用 BatchImporter 等工具匯入。

DefaultConsumer

通常用於匯入小規模歷史數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。普通 Consumer,實作,逐條、同步的傳送數據給接收伺服器。

BatchConsumer

通常用於匯入小規模歷史數據,或者離線 / 旁路匯入數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。批量傳送數據的 Consumer,當且僅當數據達到指定的量時,才將數據進行傳送。

AsyncBatchConsumer

與 BatchConsumer 不同的是,該 Consumer 使用獨立的執行緒進行數據傳送,當且僅當數據達到指定的量時,才將數據進行傳送。同樣不要用在任何線上服務中。

GoLoggingConsumer

用於將數據輸出到指定目錄並按天切割檔案,支援透過參數指定是否按小時切割,一般用來處理即時數據,產生 log 檔並使用 LogAgent 等工具匯入。

ConcurrentLoggingConsumer

用於將數據輸出到指定目錄,並自動按 切割檔案,支援按小時切割,參數含義同 LoggingConsumer ,與 LoggongConsumer 不同的是,它支援多處理程序寫入同一個檔案。

DebugConsumer

用於校驗數據匯入是否正確。請注意:Debug 模式是為方便開發者除錯而設定的模式,該模式會逐條校驗數據並在校驗失敗時拋出異常,效能遠低於正常模式。線上環境使用 Debug 模式會嚴重影響效能並存在崩潰的風險,產品上線前請務必替換掉/關閉 Debug 模式

DefaultConsumer

通常用於匯入小規模歷史數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。普通 Consumer,實作,逐條、同步的傳送數據給接收伺服器。

BatchConsumer

通常用於匯入小規模歷史數據,或者離線 / 旁路匯入數據的場景。由於是網絡直接傳送數據,如果網絡出現異常可能會導致數據重傳或遺失,因此不要用在任何線上服務中。批量傳送數據的 Consumer,當且僅當數據達到指定的量時,才將數據進行傳送。