高并发解决方案
高并发解决方案案例
流量优化:防盗链处理
前端优化:减少HTTP请求,合并css或js,添加异步请求,启用浏览器缓存和文件压缩,CDN加速,建立独立图片服务器,
服务端优化:页面静态化,并发处理,队列处理
数据库优化:数据库缓存,分库分表,分区操作,读写分离,负载均衡
web服务器优化:负载均衡,nginx反向代理,7,4层LVS软件
1. 硬件选型。
部署什么服务
磁盘选型: 阿里云 选什么磁盘IOPS 磁盘响应速度 ESSD autoPL > ssd > essd > 高效云盘
内存和cpu比例选型,普通1:2,缓存1:4
CPU从32位提升为64位
• 内存从64GB提升为256GB(比如缓存服务器);
• 磁盘从HDD(Hard Disk Drive)提升为SSD(固态硬盘(Solid State Drives)),有大量读写的应用
• 磁盘扩容,1TB扩展到2TB,比如文件系统
• 千兆网卡提升为万兆网卡
但是不管怎么提升硬件性能,硬件性能的提升不可能永无止尽,所以最终还是要靠分布式解决。
硬件机房:
raid 0 1 10 5
2. CDN 分散本地业务压力。
2. 负载均衡
均衡负载(如:nginx 优化,阿里云SLB)
squid
2. 缓存
数据库缓存 redis 缓存 redis集群
在面对调用链路中不稳定的资源如何保证高可用?在微服务中一个服务通常会调用其他的模块,可能是服务内的某个应用也有可能是另外的一个远程服务,数据库或者其他API调用。比如我们在支付的时候会调用(某付宝、某信、某联)提供的API,在查询订单我们会调用数据库连接,这些依赖的服务有可能会存在系统不稳定的情况,如果依赖的服务出现了不稳定的情况,请求响应时间过长,线程资源产生堆积,可能最终会耗尽服务的资源,导致服务变的不可用,这个时候 熔断降级 是保证服务高可用的重要措施之一。
对之前生产中使用过的MySQL数据库监控指标做个小结。
指标分类 | 指标名称 | 指标说明 |
性能类指标 | QPS | 数据库每秒处理的请求数量 |
TPS | 数据库每秒处理的事务数量 | |
并发数 | 数据库实例当前并行处理的会话数量 | |
连接数 | 连接到数据库会话的数量 | |
缓存命中率 | 查询命中缓存的比例 | |
高可用指标 | 可用性 | 数据库是否可以正常对外服务 |
阻塞 | 当前阻塞的会话数 | |
慢查询 | 慢查询情况 | |
主从延迟 | 主从延迟时间 | |
主从状态 | 主从链路是否正常 | |
死锁 | 查看死锁信息 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2018-08-10 linux实现防止恶意扫描 PortSentry
2018-08-10 yarn 用户导致的被挖矿 启用Kerberos认证功能,禁止匿名访问修改8088端口