查看其它 2 个回答匿名用户的回答

匿名用户匿名用户

日志处理模块的主要功能是保证日志分析系统中日志数据的实时异步处理。由于我们所要采集的日志是分布在多个采集节点,一旦交易高峰期所产生的日志增长速度比较快,所需要采集分析的日志量非常大,而实时计算模块消费日志的速度无法达到日志生产的速度,造成实时计算模块的资源比较紧张,导致系统中的数据流量不稳定。基于这个原因,系统就需要提供一个对数据流量进行缓存的模块,来进行保证日志数据的异步处理。
日志处理模块通过在日志采集模块与日志存储模块之间提供数据缓存,降低模块之间的耦合度,如果某个模块出现问题不至于影响其它模块的正常工作。另外,日志处理模块可以使日志数据可以进行异步处理以及处理有衔接,这样可以保证在业务高峰期,最重要的数据可以优先分析,保证了系统中流量的稳定,提高了系统的稳定性和可用性,也确保最新的业务数据可以提供使用
日志处理模块主要由以下三部分组成:
producer(消息生产者),负责日志处理模块中数据流的输入,在本系统中我们的采集agent就作为消息生产者,将采集的日志数据全部发布出来。
broker(由kafka分布式集群组成),提供缓存代理,它接收到生产者发布的消息并存储这些消息,接收到消费者的订阅后将存储的消息推送给消费者。
consumer(消息消费者),负责日志处理模块中日志数据的消费,通过向kafka集群发送fetch请求,拉取数据进行消费。在本系统中,日志的消费者主要是实时计算模块,一方面通过对采集到的日志进行计算和分析,得出日志分析的计算结果,另一方面将日志转移到日志存储模块

互联网服务 · 2019-06-15
浏览1959

回答状态

  • 发布时间:2019-06-15
  • 关注会员:5 人
  • 回答浏览:1959
  • X社区推广