首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
程序人生
›
15个高并发系统计划锦囊,创建并发思维! ...
返回列表
发新帖
15个高并发系统计划锦囊,创建并发思维!
[复制链接]
发表于 2024-12-15 21:37:07
|
显示全部楼层
|
阅读模式
前言
大家好,记得很久之前,去面试过
字节跳动
。被三面的面试官问了一道场景计划标题:
怎样计划一个高并发系统
。当时我回答得比较粗糙,最近追念起来,所以整理了计划高并发系统的15个锦囊,相信大家看完会有资助的。
怎样理解高并发系统
所谓计划
高并发
系统,就是计划一个系统,保证它
团体可用
的同时,能够
处理很高的并发用户哀求
,能够承受
很大的流量打击
。
我们要计划高并发的系统,那就需要处理好一些常见的系统瓶颈问题,如
内存不足、磁盘空间不足,连接数不够,网络宽带不够
等等,以应对突发的流量洪峰。
1. 分而治之,横向扩展
如果你
只部署一个应用,只部署一台
服务器
,那抗住的流量哀求是非常有限的。并且,单体的应用,有单点的风险,如果它挂了,那服务就不可用了。
因此,计划一个高并发系统,我们可以
分而治之,横向扩展
。也就是说,采用分布式部署的方式,部署多台
服务器
,把流量分流开,让每个
服务器
都负担一部分的并发和流量,提升
团体系统的并发本领
。
2.
微服务
拆分(系统拆分)
要提高系统的吞吐,提高系统的处理并发哀求的本领。除了采用
分布式部署的方式
外,还可以做
微服务
拆分
,这样就可以达到分摊哀求流量的目的,提高了并发本领。
所谓的
微服务
拆分
,其实就是把一个单体的应用,按
功能
单一性,拆分为多个服务模块。
好比一个电商系统,拆分为用户系统、订单系统、商品系统等等
。
3. 分库分表
当业务量暴增的话,MySQL单机
磁盘容量会撑爆
。并且,我们知道
数据库
连接数是有限的。
在高并发的场景下
,大量哀求访问
数据库
,MySQL单机是扛不住的!高并发场景下,会出现too many connections报错。
所以高并发的系统,
需要考虑拆分为多个
数据库
,来抗住高并发的毒打
。而假如你的单表数据量非常大,
存储
和查询的
性能
就会碰到瓶颈了,如果你做了很多优化之后还是无法提升服从的时候,就需要考虑做
分表
了。一样平常千万级别数据量,就需要
分表
,每个表的数据量少一点,提升SQL查询
性能
。
劈面试官问要求你计划一个高并发系统的时候,一样平常都要说到
分库分表
这个点。
之前写了分库分表15连问,为了应对面试官追问到底,大家可以趁便复习一下分库分表的相干经典面试题哈,可以看我这篇文章:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
浏览过的版块
人工智能
网络安全
SQL-Server
宁睿
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表