某科技公司支持公司内部运单信息查询,QPS调用量高峰在30W
在项目负责方案选型,设计和落地:
1. 高并发:高并发设计不仅仅是追求高性能,而是要在保证系统高可用和高扩展性的基础上,通过技术手段处理大流量,确保用户体验 。
2. 系统设计目标:高并发系统设计的宏观目标包括高性能、高可用和高可扩展。这三个方面互相关联,需要通盘考虑 。
3. 性能指标:性能指标如平均响应时间、TP90/TP99分位值和吞吐量是衡量系统性能的关键。用户体验的角度来看,响应时间200毫秒内是用户感觉不到延迟的界限,而1秒内是可接受的延迟 。
4. 可用性指标:高可用性指系统无故障运行的能力,通常用几个9来描述。例如,99.9%(三个9)的可用性意味着每年可能有8.76小时的故障时间 。
5. 可扩展性指标:扩展性指系统处理能力的线性增长能力。理想情况下,资源增加几倍,性能也应该提升几倍,通常扩展能力需维持在70%以上 。
6. 实践方案:包括纵向扩展(提升单机处理能力)和横向扩展(通过集群部署提升并发处理能力)。具体的实践方案涉及集群部署、多级缓存、数据库优化、异步化处理、限流、削峰填谷、并发处理、缓存预热、减少IO次数和数据包大小、程序逻辑优化、使用池化技术、JVM优化和锁选择等 。
7. 高可用实践方案:包括故障转移、超时设置、重试策略、降级处理、限流、消息可靠性保证、灰度发布、监控报警和灾备演练等 。
8. 高扩展实践方案:涉及分层架构设计、存储层拆分、业务层拆分等,以支持流量高峰时的快速扩容