Bonree Ants大数据处理引擎
越来越多的企业认识到大数据对于自身未来发展的重要性,纷纷开始使用并逐渐依赖大数据处理的相关技术。但随着需要处理的数据越来越多,业务场景越发复杂,在实际执行过程中遇到很多问题,如大数据人才紧缺,相关技术缺乏沉淀,难以突破瓶颈,同时不同业务部门的业务需求纷繁多样,导致不同项目代码重复开发、重复造轮子、项目技术架构五花八门的情况也很常见,给后期维护和迭代带来很大的挑战。
对于以上的现实问题,博睿数据以10年的大数据项目实践经验,抽象和设计出一套灵活轻便、场景通用、稳定高效的超级大数据处理引擎框架—Bonree Ants,以满足企业复杂多样的数据处理需求。
Ants(蚁群)名称源于其寓意:高效协作、小而有力、合纵连横,我们认为其可以诠释这套超级引擎框架的初衷:轻便灵活、场景通用、稳定高效。
Bonree Ants大数据处理引擎框架是一个针对时序指标数据处理的通用流式计算引擎框架。此引擎框架负责范围包括原始数据预处理、准实时计算(支持默认算子和自定义算子)、多种时间粒度批量计算、数据落地及各种容错处理,同时支持自定义高级功能自定义扩展机制,默认支持如时序指标动态基线计算、报警条件判断计算等扩展等。
Bonree Ants整体架构图
此拓扑负责从kafka订阅原始数据源并调用etl-plugin插件对数据进行预处理(etl-plugin插件由客户自己来实现),并对将etl后的结果进行准实时聚合处理(计算规则由用户在schema.xml中描述) 如果用户想要备份etl后的原始明细数据,则只需在Schema.xml中开启相关配置,则由此拓扑在etl后把数据镜像一份发往kafka集群指定topic,由用户自行消费进行后续备份处理
此拓扑负责对etl之后的数据进行按不同时间粒度的批量聚合(规则由Schema.xml描述)。此过程内部有两个子计算拓扑:小批量计算(分钟级),大批量计算(小时级和天级)。计算过程中小粒度的中间计算结果都会缓存到redis集群中,供下一大粒度计算使用。同时,各粒度计算结果会落地到kafka相应的topic,由“数据存储拓扑”订阅进行后续存储操作,从而实现数据计算和落地之间的解耦
此拓扑负责数据落地入库,落地数据包括两种,即时序指标数据(结构化)和快照文件数据(非结构化,如业务中存在此类数据的话)两种,用户需根据自身业务需要开发Storage-plugin来实现具体的落盘策略 除此之外,Bonree Ants默认实现了两个重要的extension扩展,即基线计算extension和报警条件判断extension
Bonree Ants引擎框架自身与业务无耦合,数据处理流程高度抽象,通用性强,简洁开放的架构,较少的组件依赖,开发部署及维护成本低;秒级时延,实时性好,内置批量计算支持;支持extension机制,用户可自行丰富业务场景功能支持;内置多种容错策略,保证稳定与数据安全;同时,Bonree Ants提供强大的在线Web Console支持,可支持可视化管理和监控,具体功能包括如下:
APP在线创建、Schema在线配置、APP发布上线、下线
zookeeper、storm、kafka、redis等基础集群运行状态监控
APP运行关键流程节点状态日志收集和监控
Bonree Ants以小而美的理念,以灵活高效的计算方式快速处理企业数字化业务带来的庞大数据量,是企业提高大数据在线处理能力的智能大脑。