栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

秒杀程序学习-环境部署

秒杀程序学习-环境部署

记录一次复杂程序的启动
  • 秒杀程序学习-环境部署
    • 背景
    • 需要的程序
    • 结果
    • 过程准备
      • 过程-mysql
      • 过程-redis
      • 过程-RabbitMQ
      • 过程-zookeeper
    • 修改
      • 修改原因
      • 修改connector-version
      • 修改timeZone
    • 尝试运行SpringBoot
      • 运行AirCraftApplication后
      • 修改MiaoShaUserDAO
      • 修改后续20211020

秒杀程序学习-环境部署 背景

观摩QiuRunze大佬的秒杀系统代码,尝试运行部署基础版本,代码Github链接https://github.com/qiurunze123/aircrafttravel

需要的程序

整个过程有
mysql、mysqlWorkBench、Redis、RedisDeskTopManager、Zookeeper、Erlang、RabbitMQ、Docker等程序

结果

过程准备

下载代码zip

按照readme文件使用网盘下载安装包

过程-mysql

安装mysql及mysql workbench
测试链接,用户名及密码都是root
导入sql文件后如下图

过程-redis

运行exe安装好后,打开windows服务,启动Redis服务(在win10搜索serv推荐就是,redis可能已经启动好了)


打开RedisDeskTopManagement测试连接,默认端口即是
连接成功如下图

过程-RabbitMQ

我没使用网盘下载的安装包,个人习惯
使用Docker容器运行的RabbitMQ
详细安装过程https://blog.csdn.net/weixin_43596589/article/details/117327268
BTW(小插曲,RabbitMQ端口被占用我就将61613改成50013,改成没被占用的即可)

过程-zookeeper


解压后配置好后
详细配置连接https://blog.csdn.net/xhuiting/article/details/111686068
在cmd中输入zkServer即可运行
如下图已经运行

修改 修改原因

由于程序发布于约2017年,其中mysql使用的是5版本
而我使用的是8版本的
需要修改如下图的version,及jdbc中的driver.cj

修改connector-version

修改timeZone

否则报错乱码

尝试运行SpringBoot 运行AirCraftApplication后

访问localhost 8080/login/to_login
登录显示手机号不存在并且程序报错

输入手机号来源miaosha_user这张表,密码123456

报错内容如下

分析发现sql并未取回信息,但却是输入了parameter

修改MiaoShaUserDAO

发现条件写错,将nickname修改为id
程序即可运行

修改后续20211020

点击立即秒杀按钮后依然报错,原因是在controller中依然有getNickName方法没有改正,分析过程如下

没有发现报错输出,这让我特别难受,但是看到日志输出到这个Controller中就不再输出,猜到应该是这里出现了问题

Debug单步执行到这里出现报错

报错内容为类型错误就是user1不是数字Long类型


可以看到在这个方法需要的是数字而不是String,即需要getId而不是getNickName



修改后出现报错,在RabbitMQImpl中出现

同样根据报错内容修改即可


最后可以在数据库中看到已经秒杀成功,但是前端提示秒杀失败,继续Debug执行发现miaoshaController中miaoshaResult方法中依然存在两处getNickName

修改后终于秒杀成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号