一、什么是高并发

高并发(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、兼容MySQL协议、水平扩展、分布式事务)

3、缓存

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

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

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

4、消息中间件

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

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

5、应用拆分(微服务)

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

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

(3)应用资源隔离。

6、CDN(内容分发网络)

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

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

作者:阿凡卢

出处:http://www.cnblogs.com/luxiao...

如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞+转发分享。

我是民工哥,一个爱折腾的IT技术老司机,欢迎关注我,我们一起学习,共同成长!!

tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!相关推荐

  1. java百万级别的并发_抗住百万高并发的 6 个关键技术!

    作者:阿凡卢 出处:http://www.cnblogs.com/luxiaoxun/ 一.什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通 ...

  2. hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?

    本文公众号来源:互联网侦察   作者:channingbreeze 最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是Hbase,推荐阅读! 等我学所成,我也来写写大数据相关的入门知识. ...

  3. eclipse中文版界面设置黑色_硬核干货总结IDEA开发的26个常用设置

    前言 程序员对待IDE都是虔诚的,经常因为谁是最好的IDE而在江湖上掀起波澜,曾经我也是. 后来我遇到了IDEA,从此是它,余生都是它. IDEA 毫无疑问是目前最强大的Java开发工具了,但是大部分 ...

  4. down redis集群_硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key ...

  5. esp8266电池供电方案_硬核干货!十大5G基站电源改造方案

    点击上方U学在线一键关注,回复以下数字即可查看更多精彩内容: [201]5G耗电/建址问题各地如何解决? [202]拖欠工程款,最高可判7年! [203]146家企业串标826万施工项目! [204] ...

  6. 搜索c盘大文件_硬核干货,如何给c盘“减肥”?

    C盘就是windows系统的系统盘,它就如同windows系统的躯干,所有系统重要组件都在这个盘内,但是它也常常被肥胖症所困扰,临床表现一般为--系统卡顿.运行缓慢,某些软件无法正常安装和使用. 虽然 ...

  7. 三星内存编码_硬核干货「三星 DDR4」内存颗粒上编码表示的意思是什么?

    #三星内存颗粒# 今天买了1pcs三星的内存条看到内存条上面的颗粒上面有一串编号,不知道是什么意思,于是打开网页就一发不可收拾的有了后面的内容. 内存条它的英文缩写DIMM,英文名:Dual-Inli ...

  8. Java百万高并发的技术方案

    前言:高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深度 ...

  9. e站app里站hosts_硬核干货区 | E站的国际站运营知识星球上线啦

    朋友们大家好,E站已上线了知识星球内容库和问答圈,以阿里国际站,Wordpress自建站,Google SEO的更新内容为主,用原理技术的视角+全栈运营的思维去加成对店铺的运营和优化,知道为什么要这样 ...

最新文章

  1. typeorm 更新_再热我们也在更新 - Midway 8 月内容汇总
  2. 【大学课程】线性代数基础知识点
  3. java项目中的classpath
  4. 【HDU - 1302】The Snail (模拟,水题)
  5. js深拷贝和浅拷贝对数组的影响_javascript之浅拷贝与深拷贝
  6. ten sentences(1-10)
  7. android测距传感器,测距测量仪(专业测量软件)
  8. View如何设置16进制颜色值
  9. 01-Quartz2D
  10. hdu 4128 Running relay (线性规划转半平面交)
  11. 神策数据桑文锋:重构数据根基,实现数字化经营
  12. 美国杜克大学计算机专业世界排名,美国杜克大学世界排名是多少呢?
  13. CM3学习笔记(一)存储器系统
  14. 商业智能,数据仓库,ETL,数仓调度工具informatica介绍手账(一)
  15. 漫威11年 历史阶段
  16. shienblink 振动/敲击检测传感器详解
  17. ffmpeg webm 提取_使用 FFmpeg 对 webp转png , webm转mp4或者gif等进行操作
  18. Mac zshrc文件找不到问题
  19. 为什么说消费主义害死人
  20. 全球最强图标库:码农福利图标库Easyicon、Thenounproject、icons8、flaticons超值大礼包,你值得拥有……

热门文章

  1. 可怕!公司部署了一个东西,悄悄盯着你……
  2. MongoDB 入门,我是花了心思的
  3. 数据中台送到家 企业数字化转型“输血”变“造血”
  4. 分布式精华问答 | 如何实现分布式系统的高可用性?
  5. 企业实战_06_MyCat 常用的分片算法
  6. java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException 的解决办法
  7. RabbitMQ 镜像集群队列_集群高可用篇_03
  8. 工作流实战_06_flowable 流程定义的删除
  9. 01_SpringCoud 整合SpringCoud alibaba Nacos
  10. async 异步编程的应用