一、需求沟通

1、用例

1、服务根据分类计算过去一周中最受欢迎的商品

2、用户通过分类浏览过去一周中最受欢迎的商品

3、服务有着高可用性

2、算数

为 Amazon 设计分类售卖排行

为 Amazon 设计分类售卖排行

 

二、答案

1、概要设计

为 Amazon 设计分类售卖排行

2、扩展设计

为 Amazon 设计分类售卖排行

3、关键点总结

1、Sales API

负责交易的API

2、Read API

负责浏览的API

3、Sales Rank API

通过交易数据按分类计算上周最受欢迎的商品

4、SQL

轻量级,存关系型数据,方便查询写入。

5、对象存储

重量级,非关系型数据库,存日志,大的文件等,数据量非常大。用的大数据,map reduce等技术,方便离线计算,实时性差

 

 

三、其他知识点

1、服务有着高可用性

(1)灾难备份

(2)主备

(3)负载均衡:提供故障转移,实现高可用

2、数据库要建索引

通过哪个key来查,将这个key建索引,索引会被写到内存中,就不用去数据库中一条一条查询了,去内存中直接就能查出来,加快查询速度。

3、CDN

内容分发服务器,存图片,大的文件,内容都是一样的。访问就近的CDN节点,为了更快地访问到资源。

4、负载均衡

先用四层负载均衡,不够用再用七层负载均衡。性能比较好的机器,一般两台服务器就够用了,主备。

相关文章: