高并发项目总结
秒杀系统解决高并发问题(并发读写问题)稳:解决可用性准:解决数据一致性问题快:高性能架构原则:减少用户和服务端的交互数据要少:请求参数要少,降低对网络带宽的占用,降低对cpu的消耗,减少对数据库IO的访问请求数要少(合并多个请求为一个)访问链路尽量短(CDN能解决就不要到负载均衡,网关能解决就不要到服务端……)依赖要少:优先级高的展示,优先级低的去掉。保证高可用:负载均衡;水平扩展节点:k8s(修
·
秒杀系统
解决高并发问题(并发读写问题)
- 稳:解决可用性
- 准:解决数据一致性问题
- 快:高性能
架构原则:
减少用户和服务端的交互
- 数据要少:请求参数要少,降低对网络带宽的占用,降低对cpu的消耗,减少对数据库IO的访问
- 请求数要少(合并多个请求为一个)
- 访问链路尽量短(CDN能解决就不要到负载均衡,网关能解决就不要到服务端……)
- 依赖要少:优先级高的展示,优先级低的去掉。
- 保证高可用:负载均衡;水平扩展节点:k8s(修改relicates数值)
动静分离
- nginx端直接指向到静态资源
- CDN:放到离用户最近的地方
- 服务器缓存:guava chache、map、redis、文件缓存
- CSI:ajax、iframe局部刷新。
协程
jvm目前不支持协程,需要第三方工具的支持。Go是实现协程最好的语言。
举例:
- 传统方式1
-
异步方式2:把cpu的利用率提高了
-
协程方式3:
待续
更多推荐
已为社区贡献1条内容
所有评论(0)