lambda and kappa architecture
2018-11-26 本文已影响0人
Bitson
参考
lambda:
kappa:
Questioning the Lambda Architecture
lambda architecture
lambda架构分为:
1. batch layer:
负责线下批处理
2. speed layer:
负责实时处理。流式处理往往使用内存计算,这意味着当出现异常(比如升级或工作节点异常)时,可能会导致数据的丢失或计算结果错误。然而,Lambda Architecture却不需要过多考虑这类问题,因为下一次batch layer的作业会再次处理所有数据并获得准确的结果。
3. serving layer:
结合batch view和real-time view以服务于在线检索应用

阅读链接
https://www.jianshu.com/p/ef543d6dc15b
https://blog.csdn.net/ybdesire/article/details/70148923
架构选择
- 假如批处理和流处理分析处理的数据是一样的话,使用kappa架构。如果批处理和流处理分析出来的结果非常不一样的话,使用lambda,例如需要做很重操作的处理或者是机器学习的话,需要使用到批处理的情况。
- 如果想不在处理全部数据的时候不损失性能的话,使用lambda,因为和kappa的重放相比,lambda的批处理在读取数据的时候可以做优化,速度更加快,而且更加容易实现
- 例如根据用户的品味来在书本推荐(任何包含推荐系统的架构)的时候使用lambda,使用批处理来训练模型,使用流处理来做实时的评价