快速数据分析和实时处理的兴起,可能会给大数据管道带来一定的变革,微服务架构正在融入Hadoop领域。
最近几年,开源Hadoop风格的数据开发已经获得了很大的关注,但让主流企业采用这种开发模式依然用了很长时间。它在处理大数据的海量性及多样性上有很大的价值。但它也具有一定的复杂性,它会导致数据处理系统构建方式的巨大变革。
而在数据处理的速度方面,就相对简单了。企业需要迅速处理数据,速度是企业对大数据管道产生广泛兴趣的主要原因,企业需要从批处理的数据处理方式转变为实时处理和即时数据分析。
过去十年中,对计算性能提升的主要目的是为了更好地应对复杂性。随着开发者社区的兴起,容器和Docker,微服务已经可以提供松散耦合的,轻便的面向服务架构来应对各种复现性需求。并在数据一侧的开发上也投入了一定的努力,这意味着Hadoop上的编程模式可能会产生一些变化,而在Hadoop 2上,这些变动可能更大,因为在Hadoop 2上可以开发更广泛的分布式Hadoop附加组件。
容器的变革
如今,我们看到了实时分析应用程序所带来的影响,它结合了不同的框架部分。 Spark,Kafka和Cassandra是其中最常见的,它们和其他技术一起组成了流式大数据管道。容器和微服务都更适合于整体架构,更为重要的是,让这些框架能够协同工作不是一件容易的事。不仅如此,在他们一同工作的同时,还需要对其进行调整和更新,以实现更好的融合。
在大数据架构中应用容器和微服务的举措正变得越来越普遍。BlueData最近在其EPIC平台上新增了用于管理Docker容器的应用,这些容器用于创建Hadoop和Spark集群。 MapR编程架构是将微服务技术应用于流和实时分析应用程序架构的先驱。Pachyderm构造了一个容器化的处理引擎,在最近的Strata + Hadoop 2016 大会上该技术独占鳌头。
Mesosphere也在密切关注着相关技术的发展,它已经建立了一个系统,用于运行容器和数据服务。该公司的产品是构建在一个开源的分布式系统内核或群集管理器Apache Mesos上。它已经被Airbnb,苹果,Twitter和其他一些公司所采用。
数据点
也许对于Spark和Mesos容器服务在一起出现,我们并不用感到十分惊讶,因为Spark的创始人Matei Zaharia与Mesos的研发也有着一定的渊源。 事实上,今年Mesosphere开展的针对500名Mesos用户的研究发现,43%的受访者在Mesos上使用Spark;32%的受访者在Mesos平台上使用Kafka,24%的用户则使用Cassandra。
另一个专注于数据分析和微服务的新兴公司是Lightbend,该公司的创始人包括Scala(Spark和Akka开发所使用语言)的***,Akka是Apache Flink中分布式通信的核心,也是大数据管道的另一个新兴的元素。
Lightbend发现了用于快速实时数据处理应用的容器和框架之间的重大关联。 今年早些时候,公司进行的一项调查显示,在Java虚拟机上运行应用程序的2100个开发人员中,34%的受访者进行实时大部分数据处理,22%的受访者进行等量的批处理和实时处理。
在生产环境中使用了微服务的受访者中,30%的人使用了Kafka,21%的人运行着Spark Streaming,这再次证实了新的数据处理框架与服务和容器方法之间的关联。调查还发现,这两个框架都与另一个技术有关,那就是Akka Streams,35%的受访者使用了它。
对于数据微服务,大多数新的基础设施仍需要构建。很多地方还需要一点点摸索,开发团队需要找出哪些是正确的,哪些是错误的。
此外,数据管理的明显特征——“状态”会话和数据持久性在微服务领域仍然有待完善。 对于Hadoop的开发风格来说,它要取代或替换专用的数据仓库,使用更具活力的开源系统,这还有很长的一段路要走。