如何应对高并发的用户请求? 2

关于高并发可以看看我另一篇文章

简单介绍:学习如何应对高并发的用户请求?
这里记录的是我个人对网络学习的一些总结性知识

#如何应对高并发

##高并发?
指互联网分布式架构中必须考虑的重要因数,其主要考量的指标有: 相应时间、吞吐量、并发用户数等。

##如何提升并发能力?
在分布式架构中,要提升整体的并发能力,可以结合垂直和水平两种方式。
###垂直扩展
垂直扩展是指提升单个服务器的处理能力,方式有两种:

  • 提升硬件层面的性能:用更好的CPU、更大的内存、扩充硬盘(一般是磁盘)等。
  • 提升软件层面的性能:使用更合适的架构、算法、使用异步处理、提升数据库访问速度等。
    在企业初期阶段,一般是强烈建议采用“提升硬件层面的性能”的方式来提升并发能力。应为企业初期往往是要抢占市场,而“提升硬件层面的性能”的方式是最块的方法。
    但是,这不是最终的解决方案,因为单台服务器的性能总是有限的。
    ###水平扩展
    ####先讲述互联网分布式架构的演化
    例子:新浪微博
    https://blog.csdn.net/weixin_46794373/article/details/107312128
  • 单机系统
    此时,应用程序的所有运行组件都在一台服务器上。
  • 应用与数据库分离
    将前面的服务器一分为三:应用程序、数据库、系统文件。将这仨分别部署在不同服务器上,进行“远程部署”、“远程访问”就可以了。这样处理能力就提升了3倍(真的3倍?我也不知道…)
  • 使用缓存
    缓存,就是将应用程序需要读取的数据缓存在缓存中,通过缓存读取数据,而不是通过数据库读取数据。
    缓存分有分布式缓存和本地缓存两种。本地缓存很好理解,就是在应用程序的服务器上的缓存;分布式缓存是将多台服务器共同构成一个集群,存储更多的缓存数据,共同对应用程序提供缓存服务,提供更强大的缓存能力。
  • 负载均衡
    通过负载均衡服务器,将应用服务器部署为一个集群,添加更多的应用服务器去处理用户的访问。
  • 读写分离
    将一个数据库通过数据复制的方式,分裂为两个数据库,主数据库主要负责数据的写操作,所有的写操作都复制到从数据库上,保证从数据库的数据和主数据库数据一致,而从数据库主要提供数据的读操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值