[镜像] 练习-单线程效率问题解决方案实战案例

镜像 海牛博士 ⋅ 于 2025-01-02 13:58:40 ⋅ 38 阅读

镜像详情地址:https://cloud.hainiubl.com/#/excellentImageDetail?id=25229&imageType=excellent

点击镜像详情页面最下方的“添加到实验配置”按钮可直接运行该实战镜像

一、需求说明

现在有一张商品订单信息表,需要根据表中购买者姓名和订单编号这两个字段去调用外部接口(外部接口一次只能校验一条数据),校验之后还需要更新商品订单状态,现在是单线程实现该功能,随着数据越来越多性能越来越低。这是一个真实面试的笔试题,如果是你该如何提升性能?

二、环境介绍

机器介绍

  • 单线程效率问题镜像:共需要3台机器
    1. 一台6核8GB内存的机器:Idea
    2. 一台1核1GB内存的机器:Mysql
    3. 一台1核1GB内存的机器:RabbitMQ

流程介绍

file

file

  • 为什么使用线程池解决单线程效率问题?

​ 从需求中我们可以知道,调用的外部接口一次只能校验一条数据,这就说明,当要更新多条订单状态时,可以分成一个一个任务去执行,也就是说,可以充分利用服务器多核cpu来并行调用外部接口处理业务,简单理解就是可以同时校验多条数据,从而提高执行效率,解决单线程执行效率低的问题。

组件介绍

  • 该案例采用SpringBoot+RabbitMQ+MyBatis+数据库(MySQL)来演示需要优化的接口
  • 该案例采用SpringBoot+RabbitMQ+MyBatis+线程池+数据库(MySQL)来演示优化后的接口
您没有该镜像的运行权限,所以无权查看该笔记

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-海牛博士,http://hainiubl.com/topics/76607
点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter