阅读支付宝架构师眼中的高并发架构

      没有阅读文章在以前,本身对高并发的见解:就是不少用户同时操做,业务场景为相似:天猫618活动,淘宝双十一活动。有可能形成服务器瘫痪,为了解决这一问题,采用分布式服务器以及分布式数据库的高并发架构。css

     经过阅读支付宝架构师眼中的高并发架构发现了还有不少东西须要学习,高并发架构目的是为了让业务能够流畅的运行而且给用户一个好的交互体验,咱们须要根据业务场景预估达到的并发量等因素,来设计适合本身业务场景的高并发处理方案。从而了解服务器架构:html

  • 服务器nginx

    • 均衡负载(如:nginx,阿里云SLB)redis

    • 资源监控算法

    • 分布式sql

数据库架构:mongodb

      

  • 主从分离,集群数据库

  • DBA 表优化,索引优化,等缓存

  • 分布式服务器

  • nosql

    • 主从分离,集群

    • 主从分离,集群

    • 主从分离,集群

    • redis

    • mongodb

    • memcache

  • cdn

    • html

    • css

    • js

    • image

并发测试:高并发相关的业务,须要进行并发的测试,经过大量的数据分析评估出整个架构能够支撑的并发量。采用第三方服务

 

如下为服务器架构图:

分层,分割,分布式

  • 分层

    • 将系统在横向维度上切分红几个部分,每一个部门负责一部分相对简单并比较单一的职责,而后经过上层对下层的依赖和调度组成一个完整的系统

    • 好比把电商系统分红:应用层,服务层,数据层。(具体分多少个层次根据本身的业务场景)

    • 应用层:网站首页,用户中心,商品中心,购物车,红包业务,活动中心等,负责具体业务和视图展现

    • 服务层:订单服务,用户管理服务,红包服务,商品服务等,为应用层提供服务支持

    • 数据层:关系数据库,nosql数据库 等,提供数据存储查询服务

    • 分层架构是逻辑上的,在物理部署上能够部署在同一台物理机器上,可是随着网站业务的发展,必然须要对已经分层的模块分离部署,分别部署在不一样的服务器上,使网站能够支撑更多用户访问

    • 分割

      • 在纵向方面对业务进行切分,将一块相对复杂的业务分割成不一样的模块单元

      • 包装成高内聚低耦合的模块不只有助于软件的开发维护,也便于不一样模块的分布式部署,提升网站的并发处理能力和功能扩展

      • 好比用户中心能够分割成:帐户信息模块,订单模块,充值模块,提现模块,优惠券模块等

 

  • 分布式

    • 分布式应用和服务,将分层或者分割后的业务分布式部署,独立的应用服务器,数据库,缓存服务器

    • 当业务达到必定用户量的时候,再进行服务器均衡负载,数据库,缓存主从集群

    • 分布式静态资源,好比:静态资源上传cdn

    • 分布式计算,好比:使用hadoop进行大数据的分布式计算

    • 分布式数据和存储,好比:各分布节点根据哈希算法或其余算法分散存储数据

异步

 

在高并发业务中若是涉及到数据库操做,主要压力都是在数据库服务器上面,虽然使用主从分离,可是数据库操做都是在主库上操做,单台数据库服务器链接池容许的最大链接数量是有限的 

 当链接数量达到最大值的时候,其余须要链接数据操做的请求就须要等待有空闲的链接,这样高并发的时候不少请求就会出现connection time out 的状况 

 

 

缓存

 

高并发业务接口多数都是进行业务数据的查询,如:商品列表,商品信息,用户信息,红包信息等,这些数据都是不会常常变化,而且持久化在数据库中

 高并发的状况下直接链接从库作查询操做,多台从库服务器也抗不住这么大量的链接请求数(单台数据库服务器容许的最大链接数量是有限的)

总结:经过今天的学习了解了高并发架构是一个不断衍化的过程,须要不少东西相互辅助,基本上采用分布式架构。从服务器架构图上能够详细了解整个服务器的结构。从此应多多学习关于高并发方面的知识。

相关文章
相关标签/搜索