top of page

基于 Kafka 的微服务日志解决方案

Updated: Jul 7, 2022


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 纬泓 版权所有,不得转载

78 views
bottom of page