lambda and kappa architecture

参考 

lambda:

    How to beat the CAP theorem

    Lambda architecture website

    Lambda architecture book

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,使用批处理来训练模型,使用流处理来做实时的评价

你可能感兴趣的:(lambda and kappa architecture)