Kafka:一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
ZooKeeper:开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
三. Lambda架构
3.1 Lambda架构分解为三层
- 批处理层(Batch Layer):两个核心功能,存储数据集和生成Batch View。
- 加速层(Speed Layer):存储实时视图并处理传入的数据流,以便更新这些视图。
- 服务层(Serving Layer):用于响应用户的查询请求,合并 Batch View 和 Real-time View 中的结果数据集到最终的数据集。
3.2 优缺点
其优点:
容错性好、查询灵活度高 、易伸缩、易扩展
其缺点:
全场景覆盖带来的编码开销。 针对具体场景重新离线训练一遍,益处不大。重新部署和迁移成本很高。