top of page

基於 Kafka 的微服務日誌解決方案

已更新:6月14日


Diagram: Kafka Based Logging Solution for Microservices
微服務日誌一直是架構師需要關註的問題。這是因為每個請求跨不同服務器上的多個服務運行。每個服務都在自己的運行服務器上寫入日誌。它最終導致日誌分散在多個存儲庫中,並且跟蹤事件序列變得困難。

解決方案之一是使用日誌整合工具,例如 Splunk 或 Loggly,定期從不同服務器復製日誌並構建事件序列。 

 

這種方式的問題在於它不是實時解決方案,一些日誌信息直到復製完成才可用。 

 

此外,該解決方案在基於負載動態創建服務和服務器的雲環境中不可行。

基於 Kafka 的微服務日誌解決方案 更可行的解決方案是使用 Kafka 作為日誌的消息代理。這種日誌架構是數據流的一種實現,其中數據就是日誌。所以這種方式也叫做Log Streaming。 

 

在 Log Streaming 中,每個服務都將日誌發送到 Kafka,而不是將日誌寫入本地存儲庫。多個訂閱者被寫入以出於各種目的訂閱日誌。 

 

與通過復製進行日誌整合不同,Log Streaming 是一種實時解決方案,更適合當今的數字平臺。 日誌訂閱者 一個典型的訂閱者是日誌整合工具,然後提供系統事件的整體和實時分析。 

 

除此之外,我們還可以開發訂閱者進行動態分析。這對於臨時事件尤其有用。例如,我們可以開發一個訂閱者來訂閱與安全或性能相關的事件。 

 

我們也可以編寫一個訂閱者來監控和處理一些特定的事件,比如超過 3 次登錄失敗。這是一種將附加功能聚合到系統的整合方法。 網絡阻塞 日誌流模型的問題之一是網絡阻塞。當服務越來越多時,大量的日誌會被註入網絡,造成網絡阻塞。這可能會對其他正常的 Kafka 服務造成影響,例如延遲下單。 

解決辦法是:

1. 對網絡進行分區,這樣日誌就不會泛濫整個網絡

2. 精心製作幾臺 Kafka 服務器,僅用於日誌目的,以及

3. 搭建Kafka farm進行日誌操作



感謝您閱讀這篇文章,以下是金融科技透視的其它文章:


更多詳情,請聯繫我們 如果您想獲得更多關於金融科技的信息,請關註我們的LinkedIn或訂閱金融科技透視”。

緯泓是香港、新加坡和中国的頂級金融科技企業。自1998年以來,我們一直在幫助金融機構實施全球銀行解決方案


Copyright © 2022 緯泓  版權所有,不得轉載

101 次查看0 則留言

Comments


bottom of page