注意:同乙個sink組(好多個sink)channel中的同乙個資料只能被拉取一次
sinkprocessor有如下三種型別:
channel selector 分為兩種
*****(interceptor):**是簡單的插入式元件,設定在source和source寫入資料的channel之間,source接收到的事件在寫入到channel之前,***都可以對時間進行攔截,轉換或刪除這些事件。***也有很多態別,如正規表示式的***,時間戳***,可以為事件新增報頭,或者移除現有報頭等。某個source可以配置成使用多個***,這些***按照配置的順序依次被呼叫,這就是所謂的責任鏈模式。一旦***處理完事件,***鏈返回的事件列表傳遞到channel列表,即通過channel選擇器為每個事件選擇channel。
source:
channel:
sink:
flume 本身不限制agent 中source、channel 和sink的數量。因此flume source可以接收事件,並可以通過配置將事件複製到多個目的地。這使得source通過 channel處理器、***和channel 選擇器,寫入資料到 channel成為可能。
Flume Agent 內部原理和事務
1 channelselector channelselector 的作用就是選出 event 將要被發往哪個 channel。其共有兩種型別,分別是replicating 複製 和multiplexing 多路復用 replicatingselector 會將同乙個 event 發往所有的 cha...
libvirt內部原理
1 什麼是libvirt,它的功能有哪些?libvirt 是管理虛擬機器和其他虛擬化功能,比如儲存管理,網路管理的軟體集合。這 些軟體包括乙個api 庫 乙個daemon libvirtd 和乙個命令列工具 virsh the goal of libvirt to provide a common ...
AsyncTask內部原理
asynctask 是乙個封裝了 threadpoolexecutor 和 handler 機制的抽象類,其作用是方便開發者進行多個非同步任務時無需手動在每個執行緒中都採用 handler 機制來通知 ui 執行緒進行操作,從而簡化了多個非同步任務與 ui 執行緒的通訊的情況.我們先留下幾個問題,在...