Flume在英文中的意思是水道, 但Flume更像可以隨意組裝的消防水管,下面根據(jù)官方文檔,展示幾種Flow。
1、多個(gè)agent順序連接

可以將多個(gè)Agent順序連接起來(lái),將最初的數(shù)據(jù)源經(jīng)過(guò)收集,存儲(chǔ)到最終的存儲(chǔ)系統(tǒng)中。這是最簡(jiǎn)單的情況,一般情況下,應(yīng)該控制這種順序連接,Agent 的數(shù)量,因?yàn)閿?shù)據(jù)流經(jīng)的路徑變長(zhǎng)了,如果不考慮failover(故障轉(zhuǎn)移)的話,出現(xiàn)故障將影響整個(gè)Flow上的Agent收集服務(wù)。
2、多個(gè)Agent的數(shù)據(jù)匯聚到同一個(gè)Agent

這種情況應(yīng)用的場(chǎng)景比較多,比如要收集Web網(wǎng)站的用戶行為日志, Web網(wǎng)站,為了可用性使用的負(fù)載集群模式,每個(gè)節(jié)點(diǎn)都產(chǎn)生用戶行為日志,可以為
每個(gè)節(jié)點(diǎn),都配置一個(gè)Agent來(lái)單獨(dú)收集日志數(shù)據(jù),然后多個(gè)Agent將數(shù)據(jù)匯聚到一個(gè)Agent上,最終匯聚到用來(lái)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)系統(tǒng),列如HDFS上。
3、多級(jí)流

Flume還支持多級(jí)流,什么多級(jí)流?結(jié)合在云開(kāi)發(fā)中的應(yīng)用來(lái)舉個(gè)例子,當(dāng)syslog, java, nginx、 tomcat等混合在一起的日志流開(kāi)始流入一個(gè)agent后,可以agent中將混雜的日志流分開(kāi),然后給每種日志建立一個(gè)自己的傳輸通道。
4、load balance功能

上圖Agent是一個(gè)路由節(jié)點(diǎn),負(fù)責(zé)將Channel暫存的Event均衡到對(duì)應(yīng)的多個(gè)Sink組件上,而每個(gè)Sink組件分別連接到一個(gè)獨(dú)立的Agent上 。