
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
日志功能的应用在许多软件开发项目中都是经常会用到的一个编程功能,下面我们就通过案例分析来了解一下,日志收集系统应用都有哪些特征。
日志系统需具备三个基本组件,分别为agent(封装数据源,将数据源中的数据发送给collector),collector(接收多个agent的数据,并进行汇总后导入后端的store中),store(中央存储系统,应该具有可扩展性和可靠性,应该支持当前非常流行的HDFS)。
在设计或者对日志收集系统做技术选型时,通常需要具有以下特征:
a、应用系统和分析系统之间的桥梁,将他们之间的关系解耦
b、分布式可扩展,具有高的扩展性,当数据量增加时,可以通过增加节点水平扩展,日志收集系统是可以伸缩的,在系统的各个层次都可伸缩,对数据的处理不需要带状态,伸缩性方面也比较容易实现。
c、近实时性,在一些时效性要求比较高的场景中,需要可以及时的收集日志,进行数据分析;一般的日志文件都会定时或者定量的进行rolling,所以实时检测日志文件的生成,及时对日志文件进行类似的tail操作,并支持批量发送提高传输效率;批量发送的时机需要满足消息数量和时间间隔的要求。
d、容错性,Scribe在容错方面的考虑是,当后端的存储系统crash时,scribe会将数据写到本地磁盘上,当存储系统恢复正常后,scribe将日志重新加载到存储系统中。FlumeNG通过SinkProcessor实现负载均衡和故障转移。多个Sink可以构成一个SinkGroup。一个SinkProcessor负责从一个指定的SinkGroup中激活一个Sink。SinkProcessor可以通过组中所有Sink实现负载均衡;也可以在一个Sink失败时转移到另一个。
e、事务支持,Scribe没有考虑事务的支持。通常提取发送消息都是批量操作的,消息的确认是对一批数据的确认,这样可以大大提高数据发送的效率。
f、可恢复性,FlumeNG的channel根据可靠性的要求的不同,可以基于内存和文件持久化机制,基于内存的数据传输的销量比较高,但是在节点宕机后,数据丢失,不可恢复;而文件持久化宕机是可以恢复的。
g、数据的定时定量归档,数据经过日志收集系统归集后,一般存储在分布式文件系统如Hadoop,为了便于对数据进行后续的处理分析,需要定时(TimeTrigger)或者定量(SizeTrigger的rolling分布式系统的文件。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。