1. 程式人生 > >日誌系統之訊息佇列的應用

日誌系統之訊息佇列的應用

kafka的概述

Kakfa是由LinkedIn公司開發的一個分散式的訊息系統,後成為Apache頂級開源專案,它使用Scala編寫,以可水平擴充套件和高吞吐率的特性而被廣泛使用。

ps: 通過上述百度百科的概述,只知其然而不知其所以然。 kafka 大家都知道是訊息佇列,那麼籠統的說訊息佇列是什麼? 訊息佇列是在訊息的傳輸過程中儲存訊息的容器。那麼我們很明確的知道它如何在某個系統中的使用場景。


它的使用場景

網路上很多關於kafka的使用場景描述,有對使用者延遲發簡訊的場景、網站活動追蹤、流資料處理、日誌處理等各種場景。
在這麼多場景中,不一 一列舉來說明怎麼使用,因為本人在實際專案中kafka在日誌處理上用的比較多,所以就拿日誌處理系統進行kafka的應用與日誌系統的業務記錄。

使用成果

有了使用場景,我們就要思考使用後的效果,對於小型專案來說,我們通常對日誌的處理沒有那麼多的要求,甚至沒有對專案進行日誌收集,但是當用戶量,資料量達到一定的峰值之後,問題就會隨之而來。比如:

  1. 我們需要考慮使用者日誌怎麼存放
  2. 我們需要考慮使用者日誌存放後怎麼利用
  3. 怎麼在儲存大量級的日誌而不對系統造成影響

等很多其他的問題,這樣我們就需要藉助訊息佇列進行業務的上解耦,資料上更好的傳輸。

### 專案例項
系統日誌處理之kafka的使用 : github

  • 專案基本思想已經完成,可以用在學習階段、參考階段,歡迎其他開發者參與開源專案的開發,在之後的日子再進行完善與更新。
  • 思想和例項都有了,希望愛學習讀者的你給個支援在github中start一下,
    ps: 請不要 fork !

[推薦] 訊息佇列入門教程

kafka入門教程

作者原網址

訊息佇列