8. 如何使用消息队列进行日志处理?
日志处理,是指将消息队列用在日志处理中,比如 Kafka 的应用,解决大量日志传输的问题。
日志传输
- 日志采集客户端,负责日志数据采集,定时批量写入 Kafka 队列。
- Kafka 消息队列,负责日志数据的接收,存储和转发。
- 日志处理应用:订阅并消费 Kafka 队列中的日志数据。
大家最熟悉的就是 ELK + Kafka 日志方案,如下:
详细的,胖友可以点击链接,查看文章。
- Kafka :接收用户日志的消息队列。
- Logstash :对接 Kafka 写入的日志,做日志解析,统一成 JSON 输出给 Elasticsearch 中。
- Elasticsearch :实时日志分析服务的核心技术,一个 schemaless ,实时的数据存储服务,通过 index 组织数据,兼具强大的搜索和统计功能。
- Kibana :基于 Elasticsearch 的数据可视化组件,超强的数据可视化能力是众多公司选择 ELK stack 的重要原因。