栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

面试题四 如何设计一个高并发的架构系统

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试题四 如何设计一个高并发的架构系统

一、系统拆分

使用dubbo、SpringCloud实现分布式,拆分系统,不同业务访问不同数据库

二、缓存

大量读请求直接从缓存里取

三、MQ

读请求解决好后,就要解决写请求,加入MQ进行削峰

四、分库分表

加入MQ可以针对平时数据量不大,但秒杀时数据量很大的场景,但如果平时数据量就很大,那MQ削峰了也没用。这时进行分库分表,将请求分摊到各个库

五、读写分离

要更新缓存中的数据,所以主库负责写,从库负责读

六、ELK

分布式系统上ELK

七、简述

阿里云ECS弹性伸缩,高峰特别是秒杀时,NGINX限流一个IP每秒1个,前端CDN静态化,还有秒杀前不要暴露真实秒杀地址,单机+cache,配置ECS感应流量,自动扩展到20-30台,单台扛几百用户单纯响应是没啥问题的(这里说的是单纯响应,就是说先确保不出现500或502这类错误),后端代码逻辑Redis防刷,需要同步调用的接口尽可能少(比如一般只走支付网关,拉起支付接口),redis+lua预热加减库存,如果需要限流redis队列排序限流等(比如队列里用户数控制最多50000),同步接口返回速度尽可能高(这里面需要JVM、各种SQL优化以及读写分离、分库分表),能走异步的尽量走异步,比如短信通知,购买成功加积分级别,抵用券等。事务尽可能的小,就是说都是小事务提交(不要把什么写日志,调接口也包在开启事务逻辑里面),还有乐观锁,悲观锁,间隙锁(特别是间隙锁,MySQL在RR隔离级别下产生的间隙锁要特别小心),快照读,当前读,mvcc这些一定要清楚认知和使用恰当,不然事务隔离级别下的锁竞争,平峰时快速普通SQL不光会跑到十几甚至几十秒,而且会造成MySQL线程数跑满,或者直接挂了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728496.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号