技术选型


管理模板

基于 Bootstrap 的前端流行框架 MetroNic 为后台管理模板

核心框架

使用 Spring Boot 构建整个项目,去除 XML 配置

视图框架

使用 Spring MVC 构建视图层

持久化框架

使用 MyBatis 做 ORM 关系映射并使用二次封装的工具类 tk.mybatis 简化持久化开发

数据库连接池

使用阿里巴巴 Druid 作为 MySQL 数据库连接池,原因你懂的

页面引擎

因为 Spring Boot 项目都是打包成 Jar 文件运行,我们选择使用和 Spring MVC 契合度最高的 Thymeleaf 作为前端模板引擎

全文检索

使用基于 Lucence 的全文检索引擎 Solr 为整个系统提供搜索服务

数据库

使用在互联网领域最受欢迎的 MySQL 为系统数据库

数据缓存

采用 Redis 集群方案做数据缓存服务

项目构建及管理工具

使用 Maven 统一管理 Jar 版本并打包及构建项目

存储服务

内部系统使用 FastDFS 管理图片及文件存储,外部采用阿里云 OSS 作文件存储服务

消息中间件

消息队列使用 RabbitMQ ,Broker 方面直接采用官方的 RabbitMQ Management

接口文档引擎

在开发阶段采用 Swagger2 自动生成 API 接口文档,方便开发人员查看,提高开发效率

负载均衡

使用反向代理服务 Nginx 为负载均衡服务器并配合容器化引擎提供高并发、高性能、高可用服务

容器化引擎

使用 Docker 为容器化引擎并配合 Docker Compose 管理容器。容器编排解决方案使用 k8s(Kubernetes)

RPC 通信

微服务架构层面,各个模块的通信采用基于 RPC 通信协议的 Dubbo 为主要通信框架。由于使用的是开源版本,所以其中的服务治理方案采用 Zookeeper 桥接实现,可靠性也依赖于 Zookeeper。

代码管理

代码管理方面采用社区版的 GitLab 为代码托管服务器,代码的交付使用 Git Flow 工作流模式

CI/CD 持续集成与持续交付

本部门使用 GitLab 自带的 Runner 做持续集成的测试发布,运维部门采用 Jenkins 作为生产环境的持续交付方案

results matching ""

    No results matching ""