• 【分布式技术专题】「架构实践于案例分析」盘点高并发场景的技术设计方案和规划


    高并发是什么?

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

    高并发属性和因素

    ⾼并发相关常⽤的⼀些指标有响应时间(Response Time),吞吐量(Throughput,eg. RPS),每 秒查询率 QPS(Query Per Second),并发⽤户数等。

    • 响应时间(RT)系统对请求做出响应的时间。例如系统处理⼀个 HTTP 请求需要 200ms,这个200ms是系统的响应时间。
    • 吞吐量单位时间内处理的请求数量。
    • QPS每秒响应请求数。在互联⽹领域,这个指标和吞吐量区分的没有这么明显。
    • 并发⽤户数同时承载正常使⽤系统功能的⽤户数量。例如即时通讯系统,同时在线量就****代表了系统的并发⽤户数。

    高并发容错技术

    高并发容错技术主要是指在高并发场景下的技术实现和解决如何在发生错误的场景下,仍然可以保证系统可以正常运行的技术手段和设计实现方案。

    雪崩效应

    如何容错
    • 超时
    • 限流
    • 舱壁模式

    断路器

    断路器转换示意图

    断路器
    组件名称 Hystrix Sentinel Resilience4J
    超时机制 线程池模式有timeout 暂时支持的不好 通过限时器实现,此外也有线程池模式
    限流 采用线程池和信号量限流 采用信号量机制限流 采用线程池和信号量限流
    仓壁模式 采用线程池模式实现隔离 暂时支持的不好 采用线程池模式实现隔离
    断路器 采用了开关进行模式 暂时支持的不好 ​采用了开关进行模式
    异步化
    本地调⽤异步化
    1. 创建⼀个线程,将耗时操作放到独⽴的线程中执⾏【不建议使⽤】
    2. 使⽤线程池创建线程
    3. @Async注解(尽量把@Async注解标注的⽅法,独⽴到⼀个类⾥⾯去,防⽌this调⽤导致⽆效)

    线程池要⾃⼰指定⼀下⼤⼩,防⽌⾼并发场景下内存溢出

  • 相关阅读:
    手把手教你做测开:开发Web平台之图书新增
    C语言 开关灯实验
    5个 Istio 访问外部服务流量控制最常用的例子,你知道几个?
    开源利器:it-tools 项目介绍
    JS-11-es6常用知识-Promise(6K字超级详解!!)
    k8s及etcd的每日自动备份及故障时的还原脚本
    浅谈C++|类的成员
    linux学习书籍推荐
    Android12---Alarm 闹钟去除重复铃声(MTK平台)
    Geth无法获取早期block的transaction信息
  • 原文地址:https://blog.csdn.net/Huangjiazhen711/article/details/127713136