Monday, July 24, 2017

System Design: Predict User Purchase

July 24, 2017

Plan to do some research on a system design topic called "Predict User Purchase". 

Julia came cross the system design small talk in Chinese, she likes to look into the design: 

Predict User purchase
(先分析什么因素判断用户买不买这个商品,浏览记录,购买记录,在页面停留时间,浏览这类商品的次数,现在火的top 100商品等等。然后分析架构,
给的答案是首先master slave避免single point failure,用户点击商品后先通过dymanic dns look up找到距离最近的CDN,然后http request传过来给那个cluster的master server, mater本身有cache看看这个请求的结果是不是已经cache过了有的话直接返回(这里cache的是这个请求对应的购物车html页面),没有的话master做负载均衡下传给空闲slave server(rmi call), slave有自己的local cache因为对这个预测结果每个slave cache可以不consistent, 可以不用时刻recon每个不同的server cache。所有的数据存储都用in memory database并设置time to live, 因为这个是一个读取大于写的系统数据也不需要持久化不用支持transaction, scale也更容易。master如果挂了重启就可以,因为都是预测数据丢失了也无所谓。如果要更优化可以在浏览器端也做一层cache,如果用户反复点击同样的商品,就不用每次都make http call了)

Plan to do some research on this topic. 30 minutes a time. 

No comments:

Post a Comment