seckill-rocketmq:seckill-rocketmq-基于RocketMQ-电商高并发场景实战-源码

上传者: 42173218 | 上传时间: 2021-09-25 10:08:03 | 文件大小: 234KB | 文件类型: ZIP
seckill-rocketmq[基于RocketMQ-电商高并发场景实战] 场景为:示例项目以用户访问秒杀网关进行秒杀订单下单,平台通过RocketMQ对秒杀流量进行削峰填谷。用户通过主动查询订单 获取下单结果的完整业务流程,加深对RocketMQ的理解,并学会如何在实战场景下使用RocketMQ。 项目基本按照实际秒杀场景进行设计与编码,提供了充分的预校验逻辑,可以作为业务中开发的参考demo。 主要技术 消息队列(RocketMQ): 作用,长流程异步化,提升吞吐量,削峰填谷 |-普通消息的发布及订阅 SpringBoot |-配置资源预加载 RestTemplate |-application/x-www-form-urlencoded格式数据的发送 H2 |-嵌入式数据库 业务流程图 业务流程图如下 秒杀下单流程 订单查询流程 模块描述 模块 说明

文件下载

资源详情

[{"title":"( 80 个子文件 234KB ) seckill-rocketmq:seckill-rocketmq-基于RocketMQ-电商高并发场景实战-源码","children":[{"title":"seckill-rocketmq-master","children":[{"title":"seckill-order-service","children":[{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"order","children":[{"title":"SeckillOrderServiceApplicationTests.java <span style='color:#111;'> 364B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"resources","children":[{"title":"db","children":[{"title":"schema.sql <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false},{"title":"data.sql <span style='color:#111;'> 440B </span>","children":null,"spread":false}],"spread":true},{"title":"application.properties <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"mapper","children":[{"title":"SecKillProductMapper.xml <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"SecKillOrderMapper.xml <span style='color:#111;'> 2.78KB </span>","children":null,"spread":false}],"spread":true},{"title":"mybatis-config.xml <span style='color:#111;'> 480B </span>","children":null,"spread":false},{"title":"META-INF","children":[{"title":"applicationContext-mapper.xml <span style='color:#111;'> 660B </span>","children":null,"spread":false},{"title":"applicationContext-bean.xml <span style='color:#111;'> 786B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"order","children":[{"title":"common","children":[{"title":"service","children":[{"title":"impl","children":[{"title":"SecKillProductServiceImpl.java <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"SecKillOrderServiceImpl.java <span style='color:#111;'> 5.97KB </span>","children":null,"spread":false}],"spread":true},{"title":"SecKillProductService.java <span style='color:#111;'> 731B </span>","children":null,"spread":false},{"title":"SecKillOrderService.java <span style='color:#111;'> 959B </span>","children":null,"spread":false}],"spread":true},{"title":"dto","children":[{"title":"Result.java <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"CodeMsg.java <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false}],"spread":true},{"title":"dao","children":[{"title":"SecKillProductMapper.java <span style='color:#111;'> 835B </span>","children":null,"spread":false},{"title":"dataobject","children":[{"title":"SecKillProductDO.java <span style='color:#111;'> 858B </span>","children":null,"spread":false},{"title":"SecKillProductDobj.java <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"OrderInfoDO.java <span style='color:#111;'> 2.64KB </span>","children":null,"spread":false},{"title":"OrderInfoDobj.java <span style='color:#111;'> 3.17KB </span>","children":null,"spread":false}],"spread":false},{"title":"SecKillOrderMapper.java <span style='color:#111;'> 987B </span>","children":null,"spread":false}],"spread":false},{"title":"util","children":[{"title":"LogExceptionWapper.java <span style='color:#111;'> 632B </span>","children":null,"spread":false},{"title":"DateUtil.java <span style='color:#111;'> 6.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"config","children":[{"title":"MQNamesrvConfig.java <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"mq","children":[{"title":"SecKillChargeOrderConsumer.java <span style='color:#111;'> 3.37KB </span>","children":null,"spread":false},{"title":"listener","children":[{"title":"SecKillChargeOrderListenerImpl.java <span style='color:#111;'> 5.67KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"OrderServiceApplication.java <span style='color:#111;'> 558B </span>","children":null,"spread":false},{"title":"portal","children":[{"title":"OrderController.java <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 3.79KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 364B </span>","children":null,"spread":false}],"spread":true},{"title":"script","children":[{"title":"param.txt <span style='color:#111;'> 160.25KB </span>","children":null,"spread":false},{"title":"RocketMQ开发者训练营-01.postman_collection.json <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false},{"title":"电商秒杀.jmx <span style='color:#111;'> 10.18KB </span>","children":null,"spread":false}],"spread":true},{"title":"seckill-message-protocol","children":[{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"snowalker","children":[{"title":"AAA.java <span style='color:#111;'> 500B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"AppTest.java <span style='color:#111;'> 312B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"java","children":[{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"common","children":[{"title":"request","children":[{"title":"QueryOrderRequest.java <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false}],"spread":true},{"title":"response","children":[{"title":"QueryOrderResponse.java <span style='color:#111;'> 2.63KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"message","children":[{"title":"constant","children":[{"title":"MessageProtocolConst.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false}],"spread":true},{"title":"protocol","children":[{"title":"ChargeOrderMsgProtocol.java <span style='color:#111;'> 4.21KB </span>","children":null,"spread":false},{"title":"BaseMsg.java <span style='color:#111;'> 994B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 364B </span>","children":null,"spread":false}],"spread":true},{"title":"pic","children":[{"title":"seckill.png <span style='color:#111;'> 78.61KB </span>","children":null,"spread":false},{"title":"orderquery.png <span style='color:#111;'> 40.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 11.09KB </span>","children":null,"spread":false},{"title":"seckill-gateway-service","children":[{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"gateway","children":[{"title":"ProdCommandLineRunner.java <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false},{"title":"SeckillGatewayServiceApplicationTests.java <span style='color:#111;'> 368B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"resources","children":[{"title":"db","children":[{"title":"schema.sql <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false},{"title":"data.sql <span style='color:#111;'> 442B </span>","children":null,"spread":false}],"spread":true},{"title":"application.properties <span style='color:#111;'> 3.03KB </span>","children":null,"spread":false},{"title":"mapper","children":[{"title":"SecKillProductMapper.xml <span style='color:#111;'> 1.88KB </span>","children":null,"spread":false}],"spread":true},{"title":"mybatis-config.xml <span style='color:#111;'> 480B </span>","children":null,"spread":false},{"title":"META-INF","children":[{"title":"applicationContext-mapper.xml <span style='color:#111;'> 662B </span>","children":null,"spread":false},{"title":"applicationContext-bean.xml <span style='color:#111;'> 786B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"apache","children":[{"title":"rocketmq","children":[{"title":"gateway","children":[{"title":"common","children":[{"title":"init","children":[{"title":"SecKillProductConfig.java <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false}],"spread":false},{"title":"service","children":[{"title":"impl","children":[{"title":"SecKillProductServiceImpl.java <span style='color:#111;'> 3.76KB </span>","children":null,"spread":false},{"title":"SecKillChargeServiceImpl.java <span style='color:#111;'> 7.66KB </span>","children":null,"spread":false}],"spread":false},{"title":"SecKillProductService.java <span style='color:#111;'> 825B </span>","children":null,"spread":false},{"title":"SecKillChargeService.java <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false}],"spread":false},{"title":"dto","children":[{"title":"Result.java <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"CodeMsg.java <span style='color:#111;'> 1.59KB </span>","children":null,"spread":false},{"title":"request","children":[{"title":"ChargeOrderRequest.java <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false}],"spread":false},{"title":"response","children":[{"title":"ChargeOrderResponse.java <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"dao","children":[{"title":"SecKillProductMapper.java <span style='color:#111;'> 811B </span>","children":null,"spread":false},{"title":"dataobject","children":[{"title":"SecKillProductDO.java <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false},{"title":"SecKillProductDobj.java <span style='color:#111;'> 1.87KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"util","children":[{"title":"LogExceptionWapper.java <span style='color:#111;'> 634B </span>","children":null,"spread":false},{"title":"DateUtil.java <span style='color:#111;'> 6.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"config","children":[{"title":"RestTemplateConfig.java <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"MQNamesrvConfig.java <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"RedisCacheConfig.java <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false}],"spread":false},{"title":"manager","children":[{"title":"OrderQueryManager.java <span style='color:#111;'> 6.26KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"mq","children":[{"title":"SecKillChargeOrderProducer.java <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false}],"spread":false},{"title":"GatewayServiceApplication.java <span style='color:#111;'> 558B </span>","children":null,"spread":false},{"title":"portal","children":[{"title":"OrderChargeController.java <span style='color:#111;'> 3.39KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 4.06KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 364B </span>","children":null,"spread":false}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 922B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 364B </span>","children":null,"spread":false},{"title":"readme.md <span style='color:#111;'> 4.19KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明