京东实时浏览记录系统的设计与实现
数据存储
1.存储近千亿条用户浏览记录,并满足京东在线用户毫
秒级浏览记录实时存储和前台查询
将浏览历史数据进行冷热分离。用户3天内的浏览记录存
储到Jimdb内存中。3天外的离线数据推送到Hbase中,存储到磁盘。如果有不活跃的用户查询到冷数据(3天外)
,则将冷数据复制到Jimdb中。
存储再Jimdb内存的规则是,用户名做集合Key,商品作
为集合值,时间戳作为值的分数。自动过期。
分布式快照和Kafka
Apache Flink 是一个流处理框架,用于实时数据处理和分析。它支持大规模数据流处理,具有高吞吐量、低延迟和强一致性。
Flink是一个分布式数据处理系统,checkpoint一致性检查点。
checkpoint每5000毫秒触发一次,将之前某个时间点所有的状态保存下来.
当应用出现异常或者宕机时,Flink从checkpoint状态保存中进行恢复,如何对恢复的数据继续进行处理。
一般Flink在多台机器中构建集群,如果其中一台机器宕机,那么在机器或者应用重启后,从检查点中快速恢复。
Kafka 是一个分布式消息系统,用于构建实时数据流管道和流处理应用程序
Kafka的特点是收发消息快,每秒几十万条消息,延迟几毫秒。
Kafka基于Zookeeper的持久存储。一般对于高峰下单、秒杀等
场景进行削峰处理。
Kafka和分布式快照的结合,提高了任务的执行效率,降低了任务的失败错误率。
java doc:https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/datastream/kafka/
原文:https://blog.51cto.com/u_15714439/6783849

浙公网安备 33010602011771号