行业动态

了解最新公司动态及行业资讯

当前位置:首页>新闻中心>行业动态
全部 171 公司动态 0 行业动态 171

沧州小程序开发中如何处理高并发场景

时间:2022-07-22   访问量:1670

 7.png

沧州小程序开发中如何处理高并发场景,作为后端开发,高并发场景是一个绕不过去的坎,今天就来整理下常见的几种思路(暂时不考虑分布式的情况)


一.并发锁


        首先我们要知道高并发下会出现某一个时刻流量猛增,还有就是如果是抢购之类的库存类并发可能会导致超卖库存为负数之类的,对于并发锁来说主要是解决抢购超卖问题的,并不能很好的解决流量猛增给服务器带来的压力,有时候甚至会加重服务器的压力,所以我们并发量小及服务器配置比较高的时候可以用并发锁来处理,下面就介绍几种常用的并发锁


        1.synchronize(同步排它锁)


        这个对于java开发来说肯定不陌生,它可以让各个线程同步执行,缺点是极度的耗费性能,临时处理可以使用,经常使用的情况下不推荐


        2.数据库锁


        mysql数据库也是自带锁的,这种情况一般用行锁,不过这个会产生事务阻塞数据库,极度耗费性能,且容易造成死锁,一般在内部确定的极低的并发(一般就2个并发)的时候使用


        3.redis锁


        这个用的比较多,首先redis单进程且性能比较高,而且可以分布式实现,我们一般用set nx px 来实现


二.队列


        当我们的流量达到一定的程度,服务器无法负载了,则就需要进行流量消峰了,这时候我们队列就可以排上用场了,这时候我们我们可以把请求推到队列中,然后及时响应请求,至于并发结果我们可以在另一个页面接口或者发邮件展示,这个个方法的缺点就是不能直接获取到队列请求的结果,不过也算是比较优秀的一种方式了


三.预存队列


        上面我们提到了无法获取到队列请求的结果,有时候需要立刻展示的时候比较麻烦,这时候我们就可以倒转队列的消费者生产者了,先预先在队列中预存一定量的货物,让客户抢单请求来消费客户端的货物,这样就能通过是否从队列中取到货物来直接返回结果了,当前上面的请求都要注意好重复请求,重复下单的情况

————————————————

版权声明:本文为CSDN博主「雨夜潜行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_42849214/article/details/119910585


上一篇:沧州app开发如何处理高并发问题

下一篇:沧州APP开发同城本地生活服务平台怎么做?

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部