后端服务百万高并发实战
发布日期:2021-06-29 06:40:02 浏览次数:4 分类:技术文章

本文共 1276 字,大约阅读时间需要 4 分钟。

点击▲关注 “爪哇笔记”   给公众号标星置顶

更多精彩 第一时间直达

一、什么是高并发

高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),每秒事务处理量TPS(Transaction Per Second),并发用户数等。

响应时间:系统对请求做出响应的时间。

吞吐量:单位时间内处理的请求数量。

QPS:每秒响应查询请求数。

TPS:每秒响应事务请求数。

并发用户数:同时承载正常使用系统功能的用户数量。

二、提升系统的并发能力

互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。

(1)垂直扩展提升单机处理能力。垂直扩展的方式又有两种:

1)增强单机硬件性能,例如:增加CPU核数如32核,升级更好的网卡如万兆,升级更好的硬盘如SSD,扩充硬盘容量如2T,扩充系统内存如128G;

2)提升单机架构性能,例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间;

(2)水平扩展只要增加服务器数量,就能线性扩充系统性能。水平扩展对系统架构设计是有要求的,如何在架构各层进行可水平扩展的设计是本文重点讨论的内容。

1、系统集群化部署+负载均衡

(1)添加负载均衡层,将请求均匀打到系统层。

(2)系统层采用集群化多活部署,扛住初步的并发压力。

2、数据库分库分表+读写分离+分布式数据库

(1):水平拆分、垂直拆分(弊端太多如关联查询)。

(2)读写分离:主库写,从库读(数据同步延迟)。

(3)分布式数据库:TiDB(HTAP、兼容协议、水平扩展、分布式事务)

3、缓存

(1)本地缓存:本地磁盘或内存。

(2):用缓存集群抗住大量的读请求。

(3)预缓存,多级缓存。

4、消息中间件

(1)系统解耦,数据同步。

(2)请求异步化处理,实现削峰填谷的效果。

5、应用拆分(微服务)

(1)按业务拆分、减少耦合。

(2)分级部署,扩容缩容。

(3)应用资源隔离。

6、CDN(内容分发网络)

(1)尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节, 使内容传输的更快更稳定。

(2)CDN能够实时地根据网络流量和各节点的链接,负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

推荐

一款从0到1构建分布式秒杀系统,脱离案例讲架构都是耍流氓。

码址:gitee.com/52itstyle/spring-boot-seckill

原文链接:cnblogs.com/luxiaoxun/p/11788323.html

私活神器 

撸主纯手工打造

1. 扫描下方二维码

2. 后台回复「私活」即可获取

▲一个有温度的公众号,期待与你一起进步

转载地址:https://blog.csdn.net/zhulin2012/article/details/108525797 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:为什么MySQL不推荐使用 UUID 或者雪花id作为主键?
下一篇:分享六个经典的 SpringBoot 开源项目

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月02日 02时34分30秒