微商城saas系统之新版架构设计
由于前面的项目架构让我们感觉到,我们维护成本比较大,并且项目之间的业务需求太过于紧密,我们开始对项目进行架构重组,开始规划这个新版的设计!
新版 的设计,结构很清晰。
主项目:
子模块plugin
一、项目框架: 1、采用Spring3.X+SpringMVC3.X+Mybatis+Bootstrap3.X+MySQL,Spring采用3.X版本,使用注解方式管理bean关系,基于SpringMVC进行封装公共的controller,Spring 自动扫描项目包管理、mybatis Mapper自动扫描等特性;模板采用Bootstrap3.X进行整合的,界面UI优美,并且对于bootstrap模板封装成组件化。 2、项目采用Maven管理,项目分模块化开发,每个业务都是一个plugin,应用项目依赖plugin进行组装打包整合出不同的项目。 3、项目出发点是SAAS理论,因此表的设计与业务设计都是SAAS架构的,数据库表设计都是根据商户ID进行独立存储,业务增删改查都也都是根据商户ID独立管理。 4、权限控制,采用自定义封装权限标签进行管理。 5、CDN存储设计,有微商城、微门店是满足于SAAS架构的,考虑到未来SAAS商户量一大会导致服务器压力大,图片访问资源慢的问题,因此项目设计上所有的图片存储都是采用CDN存储设计,将图片存储到了云端,由云端回源到自己项目域名,以提升项目中图片的存储问题与访问图片资源紧张跟性能的问题。
每一个plugin都是独立的,他跟其他的plugin之间没有耦合关系,我们这样设计的目的就是为了解耦合,同时又希望这些plugin之间可以进行组合成产品,这样一个个的升级plugin,就会有不同的产品组合出来!
下面举例一下其中的一个plugin:
三、详细功能介绍:
最近开源了自己的开发标准即框架:
weiit-saas开源: