阿里P8架构师谈:如何设计淘宝亿级系统架构!

阿里P8架构师谈:如何设计淘宝亿级系统架构!

阿里P8架构师谈:如何设计淘宝亿级系统架构!含架构设计资料!

类似淘宝这样的大型网站,需要涉及到如下架构设计技术,文章末尾有所有相关技术的资料~

1.业务拆分

应用程序拆分,拆分后如何通讯、拆分步骤、拆分的原则等。

比如我以淘宝为例:根据业务属性进行垂直切分,划分为商品,订单系统、用户系统、购物车系统,支付系统,评论系统,客服系统等,系统拆分后会涉及到消息通讯机制,以及以下的集群部署。

2.应用集群部署(分布式部署,集群部署和负载均衡)

分布式部署:将业务拆分后的应用单独部署,应用直接通过类似Dubbo远程通信;

集群部署:电商网站的高可用要求,每个应用至少部署N台服务器进行集群部署;

负载均衡:是高可用系统必须的,一般应用通过负载均衡实现高可用,分布式服务通过内置的负载均衡实现高可用,关系型数据库通过主备方式实现高可用。

3.分布式中间件技术

分布式缓存:Redis为代表的,以及TFS、GFS、HDFS为代表的分布式文件存储等。

阿里P8架构师谈:如何设计淘宝亿级系统架构!含架构设计资料!

4.单点登录(分布式Session)

系统分割为多个子系统,独立部署后,不可避免的会遇到会话管理的问题。一般可采用Session同步,Cookies,分布式Session方式,大型网站一般采用分布式Session实现。

5.数据库集群(垂直拆分、读写分离,分库分表)

数据库的数据量过大之后,需要按照业务为单位进行数据库垂直拆分。淘宝为例,拆分为商品库、订单库、用户数据库等多个业务数据库。

除了垂直拆分,还需要结合分库分表、读写分离结合来降低数据库压力。

6.微服务(Dubbo)

微服务可选择的有Dubbo,以及SpringCloud,需要比较他们的优劣势,和对应的业务适合场景。

7.消息队列(Kafka等)

在高并发场景下,消息队列以异步的方式大大降低了同步数据获取的压力,典型的双11秒杀等都会大量结合消息队列使用。

8.监控和安全

高并发的场景还会涉及到服务器的核心指标监控以及及时报警设置。

除了以上内容,还会涉及到分布式小文件存储、Web前端性能优化、搜索引擎、NoSQL选型、安全与容灾等等,这样才能完整的设计出一套高并发架构系统,以下是上面讲到的完整的相关架构设计详解资料。

最全的大型网站架构设计详解资料

阿里P8架构师谈:如何设计淘宝亿级系统架构!含架构设计资料!

发布了19 篇原创文章 · 获赞 15 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/minion_banana/article/details/102530546