电商系统 多租户的设计

原文:https://www.cnblogs.com/itsharehome/p/8120500.html
原文:https://www.cnblogs.com/codemind/p/saas_architecture_tip.html
原文:https://www.cnblogs.com/codemind/p/13081336.html
https://www.cnblogs.com/lori/p/9346548.html

mybatis-plus-tenant

https://github.com/chenm1xuexi/mybatis-plus-tenant
多个字段来确定租户

不过万物皆有好坏,mybatis-plus在提供便捷开发功能的同时,也会存在一些不合理的地方,比如说mybatis的特性就是让我们开发人员将精力集中在 sql语句的编写上,而不需要考虑ORM,结果映射等操作。 采用mybatis-plus后,sql语句的可读性会变得很差,因为mybatis-plus采用sql语句的拼接方式来完成, 从开发人员的角度,开发速度得到了显著提升,但是从维护方面来看,后续新的维护人员会变得很痛苦。

因此是否选用mybatis-plus作为持久层框架要时不同的场景来抉择,如果想快速开发业务,实现敏捷开发,mybatis-plus是非常完美的选择。 如果是对公司的核心产品的更新迭代编者不建议采用mybatis-plus作为持久化的框架,采用原生的mybatis是非常不错的选择,mybatis也提供非常多的可拓展功能,比如说sql拦截等。 如果只想采用mybatis-plus,建议将项目业务领域和持久化领域做好划分(这个也需要看具体企业的开发的架构模式,基于TDD模式开发还是DDD,还是传统的集中式3层架构等)。 如果涉及到业务迭代快的场景,尽量减少多表联查,采用单表或者不大于3表联查的方式也非常有利于日后的业务需求的变更。

持久化

是将程序数据在持久状态和瞬时状态间转换的机制。
通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。

数据持久化

就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称

《Microsoft .NET企业级应用架构设计》

数据访问层的4种主要职责:持久化、查询、管理事务、维护并发

猜你喜欢

转载自www.cnblogs.com/guxingy/p/13383943.html