欢迎光临散文网 会员登陆 & 注册

关于高并发的思考

2023-03-09 21:21 作者:风格星辰  | 我要投稿


常见高并发系统衡量指标

1、QPS 每秒查询

Queries Per Second

Requests Per Second 每秒请求数

2、TPS 每秒事务

Transactions Per Second

一个事务是指一个客户端向服务器发送请求然后服务器做出响应的过程。

3、RT 响应时间

Response Time

4、Concurrency 并发数

指系统同时能处理的请求数量

5、吞吐量

高并发其实考的是系统用户量增加后,系统针对并发的设计和处理


高并发系统设计目标

高性能、高可用、高可扩展

高性能体现系统并行处理能力,有限的硬件投入下,提高性能节省成本。

高可用表示正常服务的时间。一般使用n9 99.99%可用

高可扩展 系统的扩展能力,流量高峰时能否在短时间内完成扩容,平稳承接峰值流量。


性能指标衡量

平均响应时间

TP90、TP99

吞吐量


可用性指标

几个9

90%

99%

99.9%

99.99%


可扩展性指标


设计方案

纵向和横向两个维度

纵向

提高单机处理能力

1、提高单机硬件性能:加内存、cpu核数、存储容量,磁盘升级

2、提高单机软件性能:使用缓存减少IO次数,使用并发和一步的方式增加吞吐量。


横向

1、分层架构

2、各层水平扩展 无状态水平扩容,有状态做分片路由


高性能实践方案

1、集群部署、通过负载均衡减轻单机压力

2、多级缓存 包括静态数据使用CDN、本地缓存、分布式缓存等

3、分库分表和索引优化

4、使用NOSQL数据库

5、异步化 mq

6、限流

7、流量削峰填谷 mq

8、并发处理

9、预计算

10、缓存预热

11、减少io次数

12、减少io数据量

13、程序逻辑优化

14、池化技术

15、gc优化

16、锁选择 乐观锁、分段锁


高可用实践方案

1、对等节点的故障转移

2、非对等节点的故障转移 通过心跳检测实施主备切换

3、接口超时设置 重试和幂等设计

4、降级处理 保证核心服务

5、限流处理 超出系统处理能力的请求直接拒绝

6、mq消息可靠性保证 生产者重试、broker持久化,消费者的ack确认机制

7、灰度发布

8、监控报警

9、灾备演练


高可扩展性实践方案

合理的分层架构

存储层拆分

业务层拆分


选择简单、合适的方案,按需调整


关于高并发的思考的评论 (共 条)

分享到微博请遵守国家法律