kappa架构的本质可以说是只依赖一套流处理系统来作为大数据处理解决方案。
一、概括起来,kappa架构包括两个层级
1、消息传输层
这一层有如下特点
- 持久性------数据可任意设定存储时间
- 分布式------数据分布式存储
- 数据可重放------数据可以被replay,从头重新处理
- 高性能------能够提供高性能数据读写访问
有了这几点保证之后,数据便可以在某个需要限度内全量存储,这可将生产者和消费者解耦,并进行分布式容错以提高可用性,可重放很重要,这确保了在必要情况下系统可进行重算。
消息传输层的意义在于弹性容纳并提供流计算引擎的输入数据,并在必要时从头开始读取重新计算,从而获得可靠结果。
通常使用消息队列如Kafka来作为消息传输层。
2、流处理层
这一层即是大数据流处理引擎,可用于进行流分布式实时计算。理想情况下,流处理层也应该具备如下特点
- 低延迟------保证快速响应
- 高吞吐------同时处理庞大数据量
- 具