管理模板
基于bootstrap的前端流行框架mertonic 为后台管理模板
核心框架
使用spring boot构建整个项目,去除XML配置
视图框架
使用SpringMVC构建视图层
持久化框架
使用MyBatis做ORM关系映射并使用二次封装的工具类tk.mybatis简化持久化开发
数据库连接池
使用阿里巴巴Druid作为MySQL数据库连接池。
页面引擎
因为Spring Boot项目都是打包jar文件运行,我们选择使用和SpringMVC契合度最高的thymeleaf
作为前端模板引擎
全文检索
使用基于Lucence的全文检索引擎Solr为整个系统提供搜索服务
数据库
使用在互联网领域最受欢迎的MySQL为系统数据库
数据缓存
采用Redis集群方案做数据缓存服务
项目构建及管理工具
使用Macvn统一管理jar版本并打包及构建项目
存储服务
内部系统使用FastDFS管理图片及文件存储,外部采用阿里云OSS作为文件存储服务
消息中间件
消息队列使用RabbitMQ,Broker方面直接采用官方的RabbitMQ Management
接口文档引擎
在开发阶段使用swagger2自动生成api接口文档,方便开发人员查看,提高开发效率
负载均衡
使用反向代理服务Nginx为负载均衡服务器并配合化引擎提供高并发、高负载、高可用服务
容器化引擎
使用Docker为容器化引擎配合Docker Compose管理器。容器编排解决方案使用kBs(Kubemetes)
RPC通信
微服务架构层面。各个模块的通信采用基于RPC通信协议的Dubbo为主要通信框架。由于使用的是开源
版本,所以其中的服务治理方案采用Zookeeper桥接实现,可靠性也依赖于Zooleeper.
代码管理
代码管理方面采用社区版的GitLab为代码托管服务器,代码的交付使用git Flow 工作流模式
CI/CD持续集成与持续交付
本部门使用GitLab自带的Runner做持续集成的测试发布,运维部门采用Jenkins作为生产环境持续交付
方案。