1.项目目的:是对互联网上的FhAdmin管理系统的重构(多数都重新开发),做到通用的管理平台。
如果想看“易扩容的、易开发的”架构,请浏览我的《SpringBootService》项目。
2.管理系统通常会在一台服务器部署使用(管理的系统,一般都是内部企业的使用,中国企业算有1-2万人,一台服务器足以承受)
3.权限管理方面,根据RBAC原则,重新设计数据表,做到权限达到细颗粒的权限控制(以按钮为例)
4.代码编码:utf-8编码
1.增加环境配置:开发环境、生产环境的区分;
2.在代码、前端的文件夹等对应地方,增加了ReadMe.md,用来说明相应的命名规范;
3.事务统一配置在service层,故service层只做业务数据的处理;
4.因为需求关系(该项目是管理系统),不使用redis,用ehcache技术(也可以分布式的配置)作为缓存,替代session(ehcache已配置好,但暂时用的session,有需要的自己修改);
4.权限控制用shiro框架(写好了配置以及功能,暂时没用,有需要的自己修改);
5.数据表sql文件,在/resources/mybatis/下
-
bootstrap(前端)、
-
SpringMvc(MVC框架)、
-
mybabit(数据库访问层)、
-
ECharts(前端的图表控件,监控统计方面可能会用到,目前首页用的条形图的echars.js是最基础版的)、
-
quartz(定时器,监控方面可能会用到)、
- redis(缓存,如果不用session,就会用redis来共享session等,方便系统做负载均衡的配置)、
- gRPC/ Dubbo框架(rpc框架,为了让平台服务和MVC分离。我看了代码风格,感觉和netty类似,结果是基于netty开发的,或者扩展的)、
- rabbitmq(目前待定)。
- 其中mysql、rabbitmq、redis的集群等配置,略。
- 对于部署集群方面,参考vert-x3框架、RxJava、netty、nginx、actor模型等。
同时,我也为了照顾、方便小白,我连会用到的tomcat,都会写在pom.xml中,只要使用者run一下,就可以使用,无需多余的配置操作。
注:我使用的org.mybatis.generator的版本是我自己修改的1.3.5-chinese-annotation-by-orange1438版本