前言
入职新公司后,发现公司项目有着优秀的系统架构设计,一定程度上提高了系统的响应时间。
正文
下面具体介绍一下该设计:
首先将 Service 层分为 QueryService 查询服务(专门写查询功能)以及 OperateService 操作服务(专门写如更新和新增这类操作),然后在 OperateService 中将具体向数据库新增和更新操作抽出来作为 TxService 事务服务(只对这类操作进行事务控制)。
传统项目直接在新增和更新这类方法上添加注解进行事务控制,这样便将一些不必要的查询操作也加入到了事务中,导致事务无法及时提交,形成大事务,长时间占据数据库连接,影响系统响应时间。使用 TxService 后,没有与插入更新无关的逻辑,减少了事务提交时间,可提前将数据库连接释放,供其他地方调用
收获
在公司学习到这种软件架构后,我自己对之前在校写的项目进行了改造,将对数据库新增和更新操作抽取出来作为 TxService 再用注解进行事务控制,经过压测发现确实提升了接口的响应时间,推荐使用这种架构思想。