微服务模式订单支付系统
应用技术: SpringBoot
Mybatis
Dubbo
RocketMQ
Zookeeper
MySQL
应用工具: Twitter-Snowflake
RestTemplate
注意事项:
1. mybatis 逆向工程数据表名字不能太通用,容易引起于系统表名冲突
正例: shop_user
反例: user
2. mybatis 逆向工程 *.xml文件生成是追加式添加,在重新生成 *.xml 时,建议删除原 *.xml
xml内容重复,会抛出异常:java.lang.IllegalArgumentException: Result Maps collection already contains
3. pojo类 需要继承Serializable,才可以使用dubboRPC通信
4. mapper接口 需要添加注解 @Mapper
5. service.impl 服务需要添加:
@Component :添加注解 'spring @Service' , 使用原因: 避免与dubbo @Service冲突
@Service(interfaceClass = xxxxxxService.class) :该 service 为dubbo service
6. application 需要添加Dubbo配置 @EnableDubboConfiguration
7. 微服务模式下 dubbo.protocol端口不能重复,否则启动报错
8. 库存回退和扣减均存在并发问题,解决:
方案1: 数据库乐观锁
方案2: MQ+数据库乐观锁
方案3: 引入分布式锁(Redis Zookeeper) (未使用)
9. 8中解决方案2存在库存不足时,需要通过MQ异步通知订单服务问题
10. RocketMQ分布式事务:
方案1: rocketmq-client (推荐)
方案2: rocketmq-spring-boot-starter(2.0.3) (事务有问题,未解决..)
方案2问题测试:
rocketMQTemplate.sendMessageInTransaction 方法发送的消息,
在继承RocketMQLocalTransactionListener的类下方法
executeLocalTransaction中的,RocketMQLocalTransactionState.ROLLBACK 状态回滚无效,
消息仍然会被投递到方法 checkLocalTransaction,经过测试
在checkLocalTransaction 执行RocketMQLocalTransactionState.ROLLBACK也不能回滚消息,
消息被发送到队列,导致消费者消费了回滚消息.
同类方案1中测试:
TransactionMQProducer 的继承 TransactionListener的类下方法
executeLocalTransaction中的,LocalTransactionState.ROLLBACK_MESSAGE 回滚消息,
并不会将消息投递到方法 checkLocalTransaction,
在消费者端消费不到回滚消息
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip 基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot Dubbo RocketMQ的订单支付系统源码+项目说明+数据库.zip (119个子文件)
shopcommon.iml 80B
shopapi.iml 80B
ShopOrderExample.java 47KB
ShopMsgConsumerExample.java 25KB
ShopMsgProviderExample.java 23KB
OrderServiceImpl.java 21KB
ShopOrderMqStatusLogExample.java 21KB
ShopUserExample.java 21KB
ShopGoodsExample.java 18KB
ShopCouponExample.java 17KB
ShopUserMoneyLogExample.java 15KB
OrderServiceByMQImpl.java 14KB
ShopOrderGoodsLogExample.java 13KB
ShopPayExample.java 13KB
PayServiceTest.java 11KB
CallbackConsumerMQListener.java 10KB
OrderTransactionMQListener.java 9KB
PayServiceImpl.java 8KB
CancelMQListener.java 8KB
OrderTransactionMQListener.java 7KB
OrderServiceTest.java 6KB
OrderTransactionMQListener.java 5KB
UserServiceImpl.java 4KB
ShopCode.java 4KB
ShopOrder.java 4KB
PaymentConsumerMQListener.java 4KB
ReduceGoodsNumMQListener.java 4KB
GoodsServiceImpl.java 4KB
CancelConsumerMQListener.java 3KB
IDWorker.java 3KB
OrderTransactionMQListenerImpl.java 3KB
PaymentMQListener.java 2KB
CancelMQListener.java 2KB
MQProducerConfiguration.java 2KB
CancelMQListener.java 2KB
PayWebTest.java 2KB
CancelMQListener.java 2KB
RestTemplateConfig.java 2KB
RestTemplateConfig.java 2KB
OrderWebTest.java 2KB
CouponServiceImpl.java 2KB
ShopUser.java 2KB
ShopOrderMqStatusLog.java 2KB
ShopMsgConsumer.java 1KB
GoodsServiceTest.java 1KB
ShopGoods.java 1KB
OrderController.java 1KB
CouponServiceTest.java 1KB
MQEntity.java 1KB
OrderServiceApplication.java 1KB
PayServiceApplication.java 1KB
ShopCoupon.java 1KB
ShopMsgProvider.java 1KB
ShopOrderGoodsLogMapper.java 1KB
Result.java 1KB
ShopOrderMqStatusLogMapper.java 1KB
ShopUserMoneyLogMapper.java 1KB
ShopMsgProviderMapper.java 1KB
ShopMsgConsumerMapper.java 1KB
ShopMsgProviderMapper.java 1KB
PayController.java 1KB
OrderResult.java 1001B
ShopCouponMapper.java 929B
ShopOrderMapper.java 911B
ShopGoodsMapper.java 911B
UserServiceTest.java 893B
ShopUserMapper.java 893B
ShopPayMapper.java 875B
ShopPay.java 833B
ShopUserMoneyLog.java 792B
ShopMsgConsumerKey.java 739B
ShopMsgProviderKey.java 739B
PayResult.java 726B
ShopOrderGoodsLog.java 542B
CouponServiceApplication.java 475B
GoodsServiceApplication.java 473B
UserServiceApplication.java 471B
OrderWebApplication.java 465B
PayWebApplication.java 461B
ShopOrderGoodsLogKey.java 455B
ShopUserMoneyLogKey.java 447B
IGoodsService.java 431B
IUserService.java 428B
ICouponService.java 419B
IPayService.java 382B
IOrderService.java 360B
CastException.java 302B
CustomerException.java 247B
README.md 2KB
mysql.sql 6KB
ShopOrderMapper.xml 17KB
ShopMsgConsumerMapper.xml 10KB
ShopMsgProviderMapper.xml 9KB
ShopMsgProviderMapper.xml 9KB
ShopOrderMqStatusLogMapper.xml 9KB
ShopUserMapper.xml 9KB
ShopGoodsMapper.xml 8KB
ShopCouponMapper.xml 8KB
ShopUserMoneyLogMapper.xml 8KB
ShopOrderGoodsLogMapper.xml 7KB
共 119 条
- 1
- 2
资源评论
土豆片片
- 粉丝: 1852
- 资源: 5869
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功