前言
Github:https://github.com/yihonglei/daisy-framework
一 daisy-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-common爲工程公用代碼,XXX-core爲核心業務代碼,XXX-api提供接口服務,如果是後臺管理,XXX-api換爲XXX-web。
比如daisy由daisy-api,daisy-common,daisy-core組成。
api負責controller層,對外提供接口;common公用代碼和工具包;core負責持久層和核心業務的編寫;
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方法啓動即可!