Week4

发布于: 2020 年 07 月 01 日

本周课程内容主要是对于互联网公司、互联网项目遇到的问题,和逐渐解决的方案和过程做了梳理。

本周收获:优秀的网站架构,一定是简单的,一眼清晰明了。如果架构过于复杂,要么是架构有问题,要么是业务有问题。任何网站架构问题,都是需要找到一两个核心问题,使用对应的手段解决。28原则。找到问题,并使用技术手段解决。技术是为业务服务,单纯炫技,是不负责,也是不合理的。在技术解决不了的问题面前,要对业务做改动(如12306)。

并对几个典型的互联网项目的架构做了讲解。

典型案例有维基百科、淘宝、宅米网。

维基百科:

作为一个只有数十人维护的全球性的网站,他需要解决的问题是,全球各地查询,如何能尽快返回结果。作为维基百科,写的需求是极低的(相对读来说)。那么维基百科在全球有三个大的数据中心。使用了大量的CDN做缓存。缓存没有命中的情况下,就近路由到最近的机房获取数据。这样,大规模缓存的使用,解决了用户读的问题。也就解决了网站的核心问题。

淘宝:

淘宝在发展过程中经历了数次架构演化。最初淘宝只有几个集群,数据库只有主从读写分离。后来,继续演化,发现架构瓶颈在数据库。所有引入了oracle数据库。搜索流量导入搜索服务器集群。后又引入分布式缓存。

宅米网:

宅米以移动端app为主,中间负载均衡到后端服务器集群。按业务划分,卖家集群、买家集群、供应链集群、运营集群。后来,随着业务发展,业务架构目标定在了日订单50万。后端服务大规模上云,文件服务使用阿里云,使用大量缓存服务。前端使用CDN缓存分担服务端压力。

互联网系统面对的问题

高并发、大流量。目标:高可用

应对方案:垂直伸缩、水平伸缩。

解决方案

1.单体应用架构

2.应用数据分离

3.使用缓存改善系统性能

4.使用应用服务器集群改善系统并发能力

5.数据库读写分离

6.使用反向代理和CDN加速网站响应

7.使用分布式文件系统和分布式数据库

8.使用NoSQL和搜索引擎

9.业务拆分

10.微服务及中台化

用户头像

关注

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
Week4