日誌系統之訊息佇列的應用
阿新 • • 發佈:2018-11-15
kafka的概述
Kakfa是由LinkedIn公司開發的一個分散式的訊息系統,後成為Apache頂級開源專案,它使用Scala編寫,以可水平擴充套件和高吞吐率的特性而被廣泛使用。
ps: 通過上述百度百科的概述,只知其然而不知其所以然。 kafka 大家都知道是訊息佇列,那麼籠統的說訊息佇列是什麼? 訊息佇列是在訊息的傳輸過程中儲存訊息的容器。那麼我們很明確的知道它如何在某個系統中的使用場景。
它的使用場景
網路上很多關於kafka的使用場景描述,有對使用者延遲發簡訊的場景、網站活動追蹤、流資料處理、日誌處理等各種場景。
在這麼多場景中,不一 一列舉來說明怎麼使用,因為本人在實際專案中kafka在日誌處理上用的比較多,所以就拿日誌處理系統進行kafka的應用與日誌系統的業務記錄。
使用成果
有了使用場景,我們就要思考使用後的效果,對於小型專案來說,我們通常對日誌的處理沒有那麼多的要求,甚至沒有對專案進行日誌收集,但是當用戶量,資料量達到一定的峰值之後,問題就會隨之而來。比如:
- 我們需要考慮使用者日誌怎麼存放
- 我們需要考慮使用者日誌存放後怎麼利用
- 怎麼在儲存大量級的日誌而不對系統造成影響
等很多其他的問題,這樣我們就需要藉助訊息佇列進行業務的上解耦,資料上更好的傳輸。
### 專案例項
系統日誌處理之kafka的使用 : github
- 專案基本思想已經完成,可以用在學習階段、參考階段,歡迎其他開發者參與開源專案的開發,在之後的日子再進行完善與更新。
- 思想和例項都有了,希望愛學習讀者的你給個支援在github中start一下,
ps: 請不要 fork !