Lambda架构的需要维护两套程序等以上缺点,LinkedIn的Jay Kreps结合实际经验和个人体会提出了Kappa架构。Kappa架构的核心思想是通过改进流计算系统来解决数据全量处理的问题,使得实时计算和批处理过程使用同一套代码。此外Kappa架构认为只有在有必要的时候才会对历史数据进行重复计算,而如果需要重复计算时,Kappa架构下可以启动很多个实例进行重复计算。
Kappa架构 针对Lambda架构的需要维护两套程序等以上缺点,LinkedIn的Jay Kreps结合实际经验和个人体会提出了Kappa架构。Kappa架构的核心思想是通过改进流计算系统来解决数据全量处理的问题,使得实时计算和批处理过程使用同一套代码。此外Kappa架构认为只有在有必要的时候才会对历史数据进行重复计算,而如果需要重复计算时,Kappa架构下可以启动很多个实例进行重复计算。 一个典型的Kappa架构如下图所示: [图片]![](/user/files/-WH_2DtsQsovb4md0gRUTBv9Gg-KXbNjN0ZcbFA2Wb8.png) Kappa架构 Kappa架构的核心思想,包括以下三点: 1.用Kafka或者类似MQ队列系统收集各种各样的数据,你需要几天的数据量就保存几天。 2.当需要全量重新计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出到一个新的结果存储中。 3.当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。 1.用MQ收集数据,需要几天就保存几天。 2.当需要全量重新计算时,重新起一个流计算实例。 3.当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。 Kappa架构的优点在于将实时和离线代码统一起来,方便维护而且统一了数据口径的问题。而Kappa的缺点也很明显: ● 流式处理对于历史数据的高吞吐量力不从心:所有的数据都通过流式计算,即便通过加大并发实例数亦很难适应IOT时代对数据查询响应的即时性要求。 ● 开发周期长:此外Kappa架构下由于采集的数据格式的不统一,每次都需要开发不同的Streaming程序,导致开发周期长。 ● 服务器成本浪费:Kappa架构的核心原理依赖于外部高性能存储redis,hbase服务。但是这2种系统组件,又并非设计来满足全量数据存储设计,对服务器成本严重浪费。 ● 吐量力不从心。 ● 开发周期长: 数据格式的不统一,每次都需要开发不同的Streaming程序。 ●资源浪费:有上下文,依赖于外部高性能存储redis,hbase服务。,
Kappa架构针对Lambda架构的需要维护两套程序等以上缺点,LinkedIn的Jay Kreps结合实际经验和个人体会提出了Kappa架构。Kappa架构的核心思想是通过改进流计算系统来解决数据全量处理的问题,使得实时计算和批处理过程使用同一套代码。此外Kappa架构认为只有在有必要的时候才会对历史数据进行重复计算,而如果需要重复计算时,Kappa架构下可以启动很多个实例进行重复计算。一个典型的Kappa架构如下图所示:[图片]Kappa架构Kappa架构的核心思想,包括以下三点:1.用Kafka或者类似MQ队列系统收集各种各样的数据,你需要几天的数据量就保存几天。2.当需要全量重新计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出到一个新的结果存储中。3.当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。
1.用MQ收集数据,需要几天就保存几天。2.当需要全量重新计算时,重新起一个流计算实例。3.当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。
Kappa架构的优点在于将实时和离线代码统一起来,方便维护而且统一了数据口径的问题。而Kappa的缺点也很明显:● 流式处理对于历史数据的高吞吐量力不从心:所有的数据都通过流式计算,即便通过加大并发实例数亦很难适应IOT时代对数据查询响应的即时性要求。● 开发周期长:此外Kappa架构下由于采集的数据格式的不统一,每次都需要开发不同的Streaming程序,导致开发周期长。● 服务器成本浪费:Kappa架构的核心原理依赖于外部高性能存储redis,hbase服务。但是这2种系统组件,又并非设计来满足全量数据存储设计,对服务器成本严重浪费。
● 吐量力不从心。● 开发周期长:数据格式的不统一,每次都需要开发不同的Streaming程序。●资源浪费:有上下文,依赖于外部高性能存储redis,hbase服务。