作者:nick hao
来源: cnblogs.com/haoxinyue/p/6792309.html
开涛大神在博客中说过:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。
2024年09月27日
作者:nick hao
来源: cnblogs.com/haoxinyue/p/6792309.html
开涛大神在博客中说过:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。
2024年09月27日
任何电商平台的一个主业务场景就是:
其中第三步,检查/扣减库存,常规代码实现如下:
判断剩余库存量,如果库存足够,则做扣减操作;
select stock from goods_stock where sku = 'a1' if(stock - buy_num) >= 0){ //如果库存大于等于购买数量 stock = stock - buy_num; update goods_stock set stock = stock where sku = 'a1' }
2024年09月27日
记得第一次当整个电商项目负责人的时候,在使用量高峰期时,运维的同事突然跑过来说,xx服务的某台机器的CPU,内存暴了(OOM了),赶紧想办法怎么做。当时的心情既高兴,又紧张。高兴的是产品真的有使用在使用了,有价值了;紧张的是出问题,要怎么解决?
出现这种问题有2种情况,一种是直接服务程序终止,一种是服务程序在还在(线程通过PS命令查看还在运行),但无法对外提供服务。
当然出现这种情况,都是第一时间让
2024年09月27日
所谓高并发,就是同一时间有很多流量(通常指用户)访问程序的接口、页面及其他资源,解决高并发就是当流量峰值到来时保证程序的稳定性。
我们一般用QPS(每秒查询数,又叫每秒请求数)来衡量程序的综合性能,数值越高越好,一般需要压测(ab工具)得到数据。
假设我们的一个进程(也可以是线程或者协程)处理一次请求花费了50毫秒(业内达标范围一般是20毫秒至60毫秒),那么1秒钟就可以处理20个请求,一台服务器是可以开很多这样的进程并行去处理请求的,比如开了128个,那么这台机器理论上的QPS=2560。
2024年09月27日
高并发是指系统在短时间内接收到大量的请求,这些请求需要同时得到响应。高并发是许多互联网应用和服务面临的常见问题,如果不得当地处理,会导致系统崩溃、响应时间延长等问题。
在处理高并发时,需要考虑以下几个方面:
2024年09月27日
所谓高并发,就是同一时间有很多流量(通常指用户)访问程序的接口、页面及其他资源,解决高并发就是当流量峰值到来时保证程序的稳定性。
我们一般用QPS(每秒查询数,又叫每秒请求数)来衡量程序的综合性能,数值越高越好,一般需要压测(ab工具)得到数据。
假设我们的一个进程(也可以是线程或者协程)处理一次请求花费了50毫秒(业内达标范围一般是20毫秒至60毫秒),那么1秒钟就可以处理20个请求,一台服务器是可以开很多这样的进程并行去处理请求的,比如开了128个,那么这台机器理论上的QPS=2560。
2024年09月27日
在近期的项目里面有一个功能是领取优惠券的功能,
问题描述:
每一个优惠券一共发行多少张,每个用户可以领取多少张:
如:A优惠券一共发行120张,每一个用户可以领取140张,当一个用户领取优惠券成功的时候,把领取的记录写入到另外一个表中(这张表我们暂且称为表B)
2024年09月27日
本篇文章以我在真实项目中遇到的数据并发问题作为背景,讲解问题出现的原因及解决的办法,以及从中得到的反思。并发中踩过很多坑,可能还有不足的地方,但会一直学习成长,现在将学习到的东西记录下来,,,,努力努力。
https://blog.csdn.net/love1793912554/article/details/92437035
一:并发操作出现的原因
原因:多个动作在一瞬间同时操作同一数据
现象: