15个高并发系统计划锦囊,创建并发思维!

宁睿  金牌会员 | 2024-12-15 21:37:07 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 812|帖子 812|积分 2446

前言

大家好,记得很久之前,去面试过字节跳动。被三面的面试官问了一道场景计划标题:怎样计划一个高并发系统。当时我回答得比较粗糙,最近追念起来,所以整理了计划高并发系统的15个锦囊,相信大家看完会有资助的。

怎样理解高并发系统

所谓计划高并发系统,就是计划一个系统,保证它团体可用的同时,能够处理很高的并发用户哀求,能够承受很大的流量打击
我们要计划高并发的系统,那就需要处理好一些常见的系统瓶颈问题,如内存不足、磁盘空间不足,连接数不够,网络宽带不够等等,以应对突发的流量洪峰。
1. 分而治之,横向扩展

如果你只部署一个应用,只部署一台服务器,那抗住的流量哀求是非常有限的。并且,单体的应用,有单点的风险,如果它挂了,那服务就不可用了。
因此,计划一个高并发系统,我们可以分而治之,横向扩展。也就是说,采用分布式部署的方式,部署多台服务器,把流量分流开,让每个服务器都负担一部分的并发和流量,提升团体系统的并发本领
2. 微服务拆分(系统拆分)

要提高系统的吞吐,提高系统的处理并发哀求的本领。除了采用分布式部署的方式外,还可以做微服务拆分,这样就可以达到分摊哀求流量的目的,提高了并发本领。
所谓的微服务拆分,其实就是把一个单体的应用,按功能单一性,拆分为多个服务模块。好比一个电商系统,拆分为用户系统、订单系统、商品系统等等

3. 分库分表

当业务量暴增的话,MySQL单机磁盘容量会撑爆。并且,我们知道数据库连接数是有限的。在高并发的场景下,大量哀求访问数据库,MySQL单机是扛不住的!高并发场景下,会出现too many connections报错。
所以高并发的系统,需要考虑拆分为多个数据库,来抗住高并发的毒打。而假如你的单表数据量非常大,存储和查询的性能就会碰到瓶颈了,如果你做了很多优化之后还是无法提升服从的时候,就需要考虑做分表了。一样平常千万级别数据量,就需要分表,每个表的数据量少一点,提升SQL查询性能。
劈面试官问要求你计划一个高并发系统的时候,一样平常都要说到分库分表这个点。
之前写了分库分表15连问,为了应对面试官追问到底,大家可以趁便复习一下分库分表的相干经典面试题哈,可以看我这篇文章:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表