云时代架构之美图数据统计分析平台架构演进

美图数据统计分析平台架构演进

  美图拥有十亿级用户,天天有数千万用户在使用美图的各个产品,从而积累了大量的用户数据。随着App的不断迭代与用户的快速膨胀,产品、运营、市场等愈来愈依赖于数据来优化产品功能、跟踪运营效果,分析用户行为等,随之而来的有愈来愈多的数据统计、分析等需求,那么如何应对和知足不断膨胀的数据统计与分析需求?业务的不断发展又怎么推动架构实现的改造?本文将介绍大数据业务与技术的碰撞产物之一:美图大数据统计分析平台的架构演进,但愿经过此次分享能给你们带来一些解决数据业务与架构方面的思考。  git

  美图统计平台的架构实现:更进一步,在作这个平台时,咱们可能须要考虑如下几个比较重要的点:第一,咱们可能须要对统计任务有一个比较清晰的元数据描述,能够描述出这些统计任务的计算方式是什么样子,算子是什么。第二是这个统计任务的数据源来自于哪里,以及数据须要存储在什么地方更合适业务查询。第三个是须要有一个调度中心来统一调度全部统计任务的执行。第四要确保任务的最终的正确执行。github

  基于上面这几个点,考虑须要有一些不一样的模块来负责上面的说的几大功能。咱们大概有设计三个模块:第一个模块是JobManager,主要是提供平台,供应用方比较方便的配置,能管理任务元数据信息以及其余的数据仓库、app信息的管理等。第二个模块是Scheduler,就是任务的调度中心,负责调度全部的统计任务。第三是任务执行模块JobExecutor,负责任务从查询、聚合到最终的结果落地存储。apache

  随着大数据愈来愈被重视,数据采集的挑战变的尤其突出。这里有几款数据采集平台:架构

  Apache FlumeFlume Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,因此依赖Java运行环境。FluentdFluentd是另外一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各类不一样种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。Treasure Data, Inc 对该产品提供支持和维护。LogstashLogstash是著名的开源数据栈ELK (ElasticSearch, Logstash, Kibana)中的那个LChukwaApache Chukwaapache旗下另外一个开源的数据收集平台,它远没有其余几个有名。Chukwa基于HadoopHDFSMap Reduce来构建(显而易见,它用Java来实现),提供扩展性和可靠性。Chukwa同时提供对数据的展现,分析和监视。很奇怪的是它的上一次github的更新事7年前。可见该项目应该已经不活跃了。Scribe和Splunk Forwarderapp

  综上所述,我认为任何完整的大数据平台,通常包括如下的几个过程:数据采集、数据存储、数据处理和数据展示(可视化,报表和监控)按照这个流程下去才能对自身所拥有的数据进行最好的使用。框架

文章来源:oop

https://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=2653370211&idx=1&sn=cd4f8a3499dcb5bbe091252b68bc014c&chksm=bce4d7798b935e6faf306c223b8482d61ea8b9dd1f40dd269d56c6d75abb4bbd69ce9abff26b&scene=21#wechat_redirect大数据

相关文章
相关标签/搜索