我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL导致购物车服务无法使用怎么办

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL导致购物车服务无法使用怎么办

这篇文章给大家分享的是有关SQL导致购物车服务无法使用怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

概述

之前处理过一个购物车故障,觉得还挺经典的,在这里跟大家分享一下。这个故障直接导致前端添加购物车、获取用户购物车列表等操作都失败了。购物车是入口,一旦出现问题,影响极其严重。

临时处理

购物车服务所有接口,是有打印响应时间的,发现比平时慢了很多。由于情况已是十万火急了,我只能先重启购物车,缓冲一下,然后利用这段缓冲时间,赶紧定位问题。

问题定位

之前对购物车应用基于Spring Cloud微服务化了,已经稳定运行了几个月了,且当时上线前也经过压测,接口性能是没问题的。怎么突然之间就有问题了呢?根据以往的经验,大部分故障都是SQL语句引起的,因此首先导出数据库的所有慢SQL(腾讯云有导出慢SQL的工具)语句,发现大部分慢查询都是来自库存查询的SQL语句,有些甚至是10秒钟才执行完。

后来仔细一看,库存慢查询语句,要查询库存的商品比平时多很多。商品个数少的话,这条语句还是非常快的,一旦多了就开始慢了。

解决方案

由于库存计算体系的历史原因,这条SQL是很难优化的。情况又是十万火急的,大老板一直在问咋回事。因此临时改代码,将商品库存放到Redis缓存起来。购物车服务的话,是允许库存数据不实时的,因为后面的结算和支付会实时计算库存,库存不足的时候,会提示用户的。

注意:

  • 由于购物车是入口,流量很大,而从购物车到结算页再到支付,由于有一个操作步骤,因此结算页和支付页的流量是没有购物车那么大的;

  • 部分用户购物车上的商品数据是非常多的,但是未必都会买,用户也可以勾选要买的商品,然后下单;

  • 部分用户没有清理购物车失效商品的习惯,导致购物车上的商品非常多。

终极解决方案

将库存服务独立出去,将商品库存数据放置到缓存,并引入实时刷新缓存中库存数据的机制,让缓存中的数据尽量保证新鲜。这样的话,查询库存的时候,大部分都可以从缓存中获取,不会穿透到数据库上。

补充

我们对接口进行压测的时候,部分场景下,要考虑入参的个数,不能简单的用几个数据压测,觉得性能OK就不管了。

感谢各位的阅读!关于“SQL导致购物车服务无法使用怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL导致购物车服务无法使用怎么办

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用代理服务器导致电脑无法打开网页解决办法

日常生活和工作中,经常会使用代理IP。但是在使用完代理服务器之后,很多用户都会遇到这样的问题:明明网络正常,为什么网页确打不开了? 其实,只需要关闭代理服务即可。具体操作如下: win+i进入设置进入【网络和Internet】进入【代理】
2023-08-25

腾讯云服务器使用节点导致违规封禁怎么办

腾讯云服务器使用节点出现违规封禁的情况,可以考虑以下几种解决方案:取消订阅:如果导致节点违规封禁的问题与订阅源相关,可以尝试取消订阅该源,如果已经订阅且不想再使用该节点,可以联系客服或管理员进行申诉。更换主机或节点:如果问题与节点本身有关,可以联系腾讯云官方客服或管理员进行申诉。更改使用协议:如果问题与使用协议有关,可以联系腾讯云客服或管理员要求更改使用协议或进行节点封禁处理。如果上
2023-10-26

阿里云服务器T5无法使用怎么办?详细解决方法

阿里云服务器T5是阿里云推出的最新一代高性能服务器,其出色的性能和稳定性赢得了广大用户的喜爱。然而,有时候,用户可能会遇到阿里云服务器T5无法使用的情况,那么如何解决这个问题呢?本篇文章将详细介绍如何解决阿里云服务器T5无法使用的问题。一、阿里云服务器T5无法使用的原因及分析:网络问题:可能是由于网络问题导致阿里
阿里云服务器T5无法使用怎么办?详细解决方法
2023-12-15

编程热搜

目录