云原生or本地?一家全球6大数据中心企业的大数据架构选型

当咱们讨论一家企业的大数据技术架构选型时,一般会涉及几大指标:可用性、可靠性、性能和成本。近几年,随着云计算的发展,咱们也会加上云原生服务。其中,有些指标是与业务场景紧密相关的,好比可用性和可靠性;有些指标则与企业决策相关,好比成本和性能之间的平衡。FreeWheel是一家跨全球有六大数据中心的高端视频广告管理技术和服务提供商,这样一家面对跨区域、高可用、高容灾业务场景的企业,其大数据架构选型的前、中、后期是如何进行的呢?服务器

 

(FreeWheel)架构

 

FreeWheel公司总部位于美国硅谷,在纽约、旧金山、芝加哥、伦敦、巴黎、北京等地分别设有分支机构。其中,FreeWheel北京分公司做为全球研发中心,负责公司核心产品研发。从最初的C++、手写ETL流程到如今大数据平台、容器化和云服务,FreeWheel架构师张磊揭示了选型先后的心路历程。运维

 

 

(FreeWheel架构师张磊)oop

 

 

选型前——架构和成本的评估性能

 

关于技术选型,FreeWheel一直但愿在可用性、成本(包括学习成本,运营成本和维护成本)和性能之间寻求平衡。而即便已经完成了技术选型,在迁移现有平台至AWS这类云服务时一样要从新考虑这些因素。其缘由一是自建机房的那一套解决方案可能并不适合原样照搬到云平台上;二是云服务提供商自己提供了不少托管的解决方案,孰优孰劣还须要从新评估。学习

 

对企业而言,一个好的架构首先要能知足当前的业务需求,其次是可以根据业务和技术的发展,具备可持续改造和升级的能力。技术选型时,架构师须要评估接下来一段时间内的业务发展规模及需求,根据团队的技术积累和技术方向,学习调研各类可能的解决方案是否可以并适合解决当前面临的问题。同时,再好的架构也不可能一蹴而就,一劳永逸。因此在平常工做中还须要不断探寻是否存在更有效的方案,从而对架构进行升级。大数据

 

对于具体的技术实现,以开源技术组件为例,架构师须要考虑的方面包括组件的成熟度是否合适,社区是否活跃,同时须要考虑新技术的学习成本、迁移成本和运营成本是否能够承担等等。而对于云服务迁移来讲,还面临着云服务生态等更多须要考虑的因素。毕竟一家企业在选定某个云服务平台之后,再更换的成本将是很是巨大的。优化

 

搭建中——成本or性能?云计算

 

一旦前期技术选型基本肯定,中期的主要工做就是具体实施,但在实施的过程当中每每仍是会遇到一些现实的问题。设计

 

以FreeWheel的大数据平台为例,虽然FreeWheel目前几乎全部的数据处理均在AWS上完成,可是在设计伊始,考虑到在一段时间内整个平台还会是自建机房和AWS上共存的局面,以及一些关键的性能评估,咱们在AWS上选用了与自建机房相似的基于Hadoop, HBase,Kafka和Presto的解决方案。

 

即使是这种看似无缝的迁移,在实际构建过程当中,仍是遇到了不少棘手的问题。以高可用的设计为例,AWS由于涉及到自身就高可用服务、可用区、区域这些概念,加上跨可用区/跨区域收费这样的额外成本,在其中的高可用设计和在自建机房可能会有区别。这就须要在具体实施中根据业务的特色设计出尽量平衡可用性,成本和性能的解决方案。

 

 


(FreeWheel大数据平台架构简图)

 

首先,咱们会尽可能利用AWS高可用的原生服务,这是最简单也是十分有效的手段。例如使用EBS做为Kafka的存储介质。这样即便Kafka Broker所在的物理机出现故障,其数据仍是能够恢复的。

 

而对于Zookeeper、Kafka Broker、HBase等服务,须要根据其自身不一样特性作分别处理。其中,由于Zookeeper的体量和数据交换都比较小,能够直接采用相似三可用区五副本的方案解决。

   

Kafka Broker相对来讲会复杂一些。若是单纯为了高可用将Kafka都部署成三可用区五副本固然是能够的。须要考虑的是AWS的跨可用区数据传输是收费的。这个收费看起来可能不贵,但考虑到写内容时Kafka内部要作副本的数据同步,而客户端读取内容的时候也是无差异的跨可用区读取,对于处理海量消息来讲,数据传输成本就会成为不得不考虑的因素了。

 

基于此,FreeWheel对Kafka上处理的业务进行了分级处理,保证像花费反馈这类关键任务彻底的高可用,而对数据量较大或对可靠性要求能够适度放宽的业务(好比一些离线业务),作了主从更改。默认状况下,应用和leader会在同一可用区,而且只从这个可用区读取数据,在节省传输开销的同时提高性能。而一旦某个或某些leader发生故障,系统能够自动切换至另外一可用区,保证服务继续。

 

在HBase层面,咱们在一开始也准备效仿Kafka的实现方式。但通过反复试验,仔细权衡了传输开销和运营维护成本以后,决定对HBase使用两个可用区的无差异化处理的解决方案。

 

迁移上云后——云原生or本地?

 

现在,国内外可提供云平台的厂商不在少数,企业势必会面临一个选择——究竟是选用云服务厂商已经构建好的服务仍是选择在云上自行搭建?基于FreeWheel在AWS上经验,张磊认为,对于没有历史包袱的企业,或者说对于数据量不是很大,业务不是很复杂的企业,能够考虑直接上云并根据业务特色和数据量尽量地使用原生服务,由于这样能够提升效率而且下降运维成本。而对于已有技术栈和技术积累的企业而言,若是肯定要往云端迁移,须要综合考虑云上解决方案,争取最大化云服务的价值。

 

选型后——总结调整

 

当平台已经搭建完成,架构师还须要作的工做就是总结调整,适时迭代。FreeWheel在接下来一段时间倾向于持续性改进和局部优化。例如,咱们仍是会坚持以Presto为核心组件的查询引擎,可是会不断调研实践,以改进其性能。

   

综上,FreeWheel在集成了全球90多个服务器端,6大数据中心,日均10亿日志的场景下,保障了业务的高效运行。

 

  文章转载自 IT168

相关文章
相关标签/搜索