基于Maven的SpringBoot单应用项目(考虑到后期做微服务,内部已经做了拆分)

创建项目
项目地址

项目结构

在这里插入图片描述

  • pom
    在这里插入图片描述
  • baseCommon
    在这里插入图片描述
  • baseInterface
    在这里插入图片描述
  • serviceAdmin
    在这里插入图片描述
  • serviceLog
    在这里插入图片描述
  • serviceWorkOrder
    在这里插入图片描述
  • bffController
    在这里插入图片描述

代码介绍

调用规则

在这里插入图片描述

公共实体类代码

在这里插入图片描述

企业用户注册

在这里插入图片描述
在这里插入图片描述

跨模块查询问题

  • 问题
    企业模块和工单模块进行微服务后,相关表无法进行关联查询
  • 方案
    企业用户创建工单后,为工单建立子表,通过子表来维护工单相关的企业信息、企业用户信息(设当前用户100w,则工单子表最多也为100w)
    后期企业用户信息发生变更,通过RocketMQ消息队列异步的更新工单子表即可、xxl_job定时扫描同步

全局事务

当前项目的事务还是使用单机事务,后期如果对模块进行拆分以及模块的表进行拆分则会出现分布式事务问题

  • Seata(强一致)
    因为seate是基于数据源的(所配置的服务必须要配置数据源),所以在BBF模式下不建议使用Seata来实现分布式事务,如果使用则会存在各服务模块之间相互调用的问题,后期不好维护
  • RocketMQ(最终一致性)
    1、RocketMQ的消息重投失败机制,超过指定次数进入死性队列,通过死性队列人为干预
    2、对含有分布式事务的业务模块建立事务执行记录表,记录当前事务执行的日志记录,如果存在失败的,则可以通过日志记录进行补偿,以达到最终一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大能嘚吧嘚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值