前言
Github:https://github.com/yihonglei/daisy-framework(daisy-springboot-framework)
一 daisy-springboot-framework 简介
Spring Boot 前后端分离,集成 MyBatis、数据库、消息中间件、缓存中间件、分布式锁、分布式事务、异步事件、
自定义监控系统、自定义常用基础组件等常用 Web 开发技术,方便于平时使用时随机摘取。
二 技术架构
开发语言:Java + JDK8
Web框架:Spring Boot
数据库:MySql,druid连接池
ORM框架:MyBatis
缓存中间件:Redis集群模式,MongoDB
消息中间件:RocketMQ
分布式锁:支持Redis、Zookeeper实现
分布式事务:RocketMQ最终一致性,定时任务做双层防护
定时任务:elastic-job(当当分布式)
系统日志:logback,elk
系统监控:sunflower(https://github.com/swordslotus/sunflower)
工程化:idea,Maven,Git,jenkins,Docker&k8s
项目部署:tomcat,linux
三 开发规范
1、项目命名规范
XXX-api提供接口服务,XXX-core为核心业务代码,XXX-common为工程公用代码,如果是后台管理,XXX-api换为XXX-web。
比如daisy由daisy-api,daisy-core,daisy-common组成。
api负责controller层,对外提供接口;
core负责核心业务、持久层等;
common负责工具包、公用代码等;
2、接口请求规范
json
3、接口响应规范
{
"code":1, -- 1是成功,0是失败
"data":返回的数据, -- json或数组等等
"msg":"提示信息"
}
四 daisy-framework模块说明
1、基础依赖
daisy-parent:基础依赖
2、公共组件
http:daisy-okhttp
redis:daisy-redis-spring-boot-starter
mongodb:daisy-mongodb-spring-boot-starter
rocketmq:daisy-rocketmq-spring-boot-starter
分布式锁:daisy-distributed-lock
......
3、应用服务
daisy核心业务服务,daisy-job定时任务服务等等。
注意:实际应用中基础依赖,公共组件都发布到私服,别人要用直接引用即可。
五 项目构建启动
1、基础组件构建顺序(clean install)
daisy-parent
daisy-rocketmq-spring-boot-starter
daisy-mongodb-spring-boot-starter
daisy-redis-spring-boot-starter
......
2、daisy应用构建(clean install)
daisy-api找到com/jpeony/api/ApiApplication.java,main方法启动即可!