网站大量收购闲置独家精品文档,联系QQ:2885784924

讲架构实战案例分析海量资源.pdfVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

本文由简悦SimpRead转码,原文地址

本的是架构案例,通过案例分析来加深对前面所学内容的理解。下面将分析三种不同的系

统架构案例。

1.分析初创互联网公司的架构演化案例,看一个小的系统架构是如何演化成一个较为成、能够承

受百万级订单的互联网系统架构。

2.分析一个分布式的架构案例,看如何去设计一个分布式系统,底层系统的架构是如何

设计的。

3.分析一个反应式编程框架的架构案例,看开发框架的架构是如何设计的。

这三类系统架构是三种比较典型的架构设计,对设计的要求很不一样,对架构师能力的考验也不太相

同。了解这三种不同的架构设计,可以对架构师的工作有一个比较全面的认知。

首先看初创互联网公司架构演化案例。

万级日订单级别架构

如下图,这是一个真实的校园互联网系统的架构。在早期的时候,每天处理1万左右的用户订

单,这时候的系统架构如图所示,还是比较简单的。

分析上图架构。应用端主要是移动端的应用,通过负载均衡Web服务器集群,也就是前端集群。

前端集群是两台Nginx服务器组成的,在Nginx再进行一次负载均衡,将用户请求分发到一组应用服

务器集群。应用服务器集群按照应用场景分为买家系统、卖家系统、供应链系统以及运营系统四个系统

集群,每个系统集群又包含了若干台服务器,所有这些系统都连接到一台MySQL服务器上。

十万级日订单级别架构

但是这样的系统在几千订单的时候运行还算可以,但是在比较活跃、并发比较高的时候,系统就会

出现各种问题。在上图示例中,当时的市场总监说”我们的越忙,的系统越出问题,太邪门

了。“当时我们也没敢说什么,技术部悄悄对系统做了一次改进和重构,主要优化系统架构方面。优化

后的架构如下图。

主要优化点之一是端使用CDN服务,这样用户请求的各种静态资源都通过CDN服务返回,而所有

的商品,再通过一个分布式文件系统进行管理。商品的上传和浏览,都由分布式文件系统提

供。

在应用服务器集群上又加了一个Redis集群。我们前面,提升应用系统性能的第一个就是使用

缓存。Redis集群的使用,包括前面的CDN以及分布式文件系统,极大地缓解了系统在期的

。同时我们对MySQL数据库还做了一次主从的分离,构建了一个一主两从的分布式数据

库。两个从服务器,一个从服务器用来给应用服务器用来做读操作服务,另一个从服务器做SQL数据

分析,有时候也会通过Sqoop将数据导出到大数据平台上,做大数据计算。

在十万订单的时候,除了系统本身的比较大,公司对数据的处理的要求也比较高。除了各种各

样的统计分析、竞对分析,还有各市场大区的绩效、具体到每个人的绩效都需要进行统计计算,所以专

门了一个大数据平台。在大数据平台上,根据业务数据进行统计分析和运营预测,还根据运营数据

进行。大数据平台上的数据一部分来自于应用服务器,通过消息队列Kafka导入到大数据平

台,另一部分数据是来自于MySQL从数据库导入到大数据平台。通过这样一次系统重构,系统可以满

足十万级日订单的。

百万级日订单级别架构

但是随着业务的进一步的发展,系统的订单量还在快速增长,这时候主要的来自于两个方面。一个

方面是随着订单的增长,业务也变得越来越复杂,开发新的功能变得越来越,系统的基本功能

也越来越。另一个方面是,虽然经过了主从分离以及部署了多种缓存以后,期的数据

也可以承受了,但是数据库的空间难以满足要求。对于一个日订单百万级的系统,年订单量就是数

亿,这样大的数据库对于MySQL而言是难以承受的。

所以我们对系统进行了进一步的重构。这次重构主要是两个方面,如下图。

微服务拆分

一方面是做了一个

文档评论(0)

158****9376 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档