运城达内培训软件开发日志系统需要具备哪些特征


[日期:2021-09-16 06:07]   来源:    阅读:

日志功能在软件运维管理中是非常重要的一个工具也是使用频率非常高的一个工具,下面我们就通过案例分析来了解一下,软件开发日志系统需要具备哪些特征。

运城达内培训软件开发日志系统需要具备哪些特征

在整个交易过程中,会产生大量的日志,这些日志需要收集到分布式存储系统中存储起来,以便于集中式的查询和分析处理。

日志系统需具备三个基本组件,分别为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学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。


友情链接: