一、部署多台服务器
设计一个高并发系统,我们可以分而治之,横向扩展。也就是说,部署多台服务器,把流量分流开,让每个服务器都承担一部分的并发和流量,提升整体系统的并发能力。
二、微服务技术相关
1、服务拆分
按业务拆分
qps高的拆分出去
接口响应很大的拆分出去
2、流量治理相关
熔断技术
接口超时配置
三、数据库优化
1、分库分表
表纵向拆分
表分区创建
2、读写分离
四、池化技术
1、服务器线程池
线程共用,减少线程的频繁创建与销毁。
五、缓存技术
如redis
六、消息队列削峰
如Kafka,RocketMQ、RabbitMQ。
可以在并发很大的时候,控制进入服务的流量,保障系统的服务能力。
七、限流
针对某个用户进行限流,避免因为部分用户的不合理访问行为影响其它用户。
八、接口优化
如Elasticsearch、Kafka
九、异步处理
请求来了之后,立即返回,离线进行处理。
比如在海量秒杀请求过来时,先放到消息队列中,快速响应用户,告诉用户请求正在处理中,这样就可以释放资源来处理更多的请求。
十、K8S弹性扩容
针对周期性波谷波峰特点的请求,动态扩容可提升服务的稳定性