高并发优化

并发、并行、串行

  • 串行在时间上不可能发生重叠,前一个任务没搞定,下一个任务就只能等着
  • 并行在时间上是重叠的,两个任务在同一时刻互不干扰的同时执行。
  • 并发允许两个任务彼此干扰。同一时间点、只有一个任务运行,交替执行

高并发

通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中

并发三大特性

详细描述

  • 原子性,一组操作要么全部执行,要么全部不执行,执行过程中不能被中断。
  • 可见性,一个线程修改了某个共享变量,其他线程立即可以“感知到”。
  • 有序性,如果在本线程内观察,所有操作都是有序的;如果在一个线程中观察另一个线程,所有的操作都是无序的。

处理方式

如何处理高并发问题一般有两个情况

  • 单机情况下有以下几个层面可入手
    核心就是提升性能
    优化顺序视情况而定,我一般会先考虑缓存,因为使用成本较低,维护成本不高
    • 服务器层面
      提升硬件,使用第三方存储服务器存储静态资源(阿里云oss)
    • 程序代码(次之)
      数据库连接池(防止频繁创建连接),多线程(线程安全问题用分布式锁),接口缓存(优先),程序优化,消息队列或限流(代价影响用户体验)
    • 数据库(重点,一般是系统瓶颈)
      分库分表,读写分离,程序中对常用的查询sql做缓存,添加索引
  • 多机情况下
    • 微服务拆分
    • 负载均衡
    • 集群化
      注意:redis存储token

总结起来就是缓存,队列,拆分,价钱,池化等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值