高性能架构基本上是为了支撑大数据量和高并发的业务场景。高并发的一些基本原则如下图:
高性能优化指标:
系统的对请求做出的时间:
吞吐量:
QPS:
并发用户数:微服务化
进程内服务,单机远程,集群服务,自动注册服务,服务分组路由,服务治理
对应的实际例子有:
响应时间:系统对请求做出响应的时间。
吞吐量: 一步访问启动线程池,做批处理,这就增加了对应的请求数量。
QPS:异步响应的请求数,每条调用接口多少次。
并发用户数:同时承载正常使用系统功能的用户数量
单服务器高性能
单服务器高性能的关键之一就是服务器采取的网络编程模型,网络编程模型有如下两个关键设计点 :
服务器如何管理连接。
服务器如何处理请求 。
以上两个设计点最终都和操作系统的 I/O 模型及进程模型相关 。
1/0 模型:阻塞、非阻塞、同步 、异步
进程模型:单进程、 多进程、多线程。
常用的2种模型是
Reactor I/O多路复用 复用进程/线程 非阻塞同步,高性能
Proactor 异步 非阻塞异步 操作系统主动通知
消息队列方面:解耦,一步,
削峰,保证最终一致性。
缓存方面:客户端缓存,CDN服务端缓存等,分布式缓存等
数据方面:数据结构,存取方式,存取形式构建存储