四、Netfilx经典推荐系统架构
Netflix公司发布的经典推荐系统架构,一共分为3层:
- ONLINE(在线层)
- NEARLINE(近线层)
- OFFLINE(离线层)
这三层分别做自己的事情,配合组合一起完成系统的运行。
在线层:就是用户看到的层。 用户和产品(Client,就是电脑端、APP等等)进行交互,用户除了看到内容之外,还会有很多操作,比如说播放、评分、浏览点击、购买等等,这些操作就是事件的序列,产生打点日志 。打点日志会有两个分发,一个离线分发到Hadoop,第二个是以队列的形式分发到Netflix.Manhattan(类似于Storm的实时流式计算框架)
所谓打点日志,是指用于数据统计的日志,一般前端会有打点的方法,而后端也会有类似需求。按理说,后端的一般的日志也可以做到打点的效果,但是因为一般的日志离散,风格不统一,得到的日志格式不好,不容易切分统计,所以就会想要一个独立的打点日志来实现打点。
离线层