好的,各位观众老爷们,大家好!我是你们的老朋友,人称“代码界郭德纲”的架构师老王。今天,咱们不聊风花雪月,专心扒一扒大数据处理界的两大“网红”——Lambda 架构和 Kappa 架构。
各位是不是经常听到“大数据”这三个字就觉得头大?什么实时计算、离线计算、流式处理,听起来就让人想挠头。别怕,老王今天就用最接地气的方式,把这两大架构给你盘得明明白白,让您在选择的时候不再犯迷糊,成为架构选型界的“明白人儿”。
一、前戏:大数据时代的“烦恼”
话说,自从互联网像野草一样疯长,数据就像洪水猛兽一样涌来。以前咱们存个几兆的数据就觉得了不得,现在动不动就是TB、PB级别。数据量大了,问题也就来了:
- 实时性要求高: 以前做个报表,第二天早上看就行。现在不行了,用户恨不得你下一秒就告诉他哪个商品卖得最好,哪个用户点了差评。
- 数据规模大: 数据量太大,一台机器根本扛不住,得用集群。集群这玩意儿,看着高大上,维护起来也是一把辛酸泪。
- 数据类型复杂: 不光有结构化的数据库,还有非结构化的文本、图片、视频等等。要把这些数据都处理好,可不是一件容易的事。
- 容错性要求高: 系统出问题是家常便饭,数据丢了可就麻烦大了。得保证数据不丢,计算结果还得准确。
为了解决这些问题,各路大神纷纷祭出自己的法宝,Lambda 架构和 Kappa 架构就是其中的佼佼者。
二、Lambda 架构:分而治之的“老司机”
Lambda 架构,你可以把它想象成一个经验丰富的“老司机”,它深谙“分而治之”的道理。它把大数据处理分成三层:
- Batch Layer (批处理层): 负责处理全量数据,就像一个辛勤的“老黄牛”,每天晚上吭哧吭哧地把所有数据都算一遍,生成一个“总账”。 用的就是Hadoop, Spark之类的大规模离线计算框架。
- Speed Layer (速度层): 负责处理实时数据,就像一个身手敏捷的“快递小哥”,快速地处理新来的数据,生成一个“增量账”。 用的就是Storm, Flink之类的流式计算框架。
- Serving Layer (服务层): 负责把“总账”和“增量账”合并起来,提供查询服务,就像一个精明的“会计”,能快速地告诉你任何时间段的数据。常用的就是Hbase, Druid, Presto等。
咱们用一张表格来总结一下Lambda 架构的特点:
特性 | 描述 | 技术栈示例 |
---|
Lambda ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————