基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
點(diǎn)擊上方?好好學(xué)java?,選擇?星標(biāo)?公眾號(hào)
重磅資訊、干貨,第一時(shí)間送達(dá)
今日推薦:又一程序員進(jìn)了ICU:壓垮一個(gè)家庭,一張結(jié)算單就夠
個(gè)人原創(chuàng)100W+訪問量博客:點(diǎn)擊前往,查看更多
前言
本項(xiàng)目不僅僅是一個(gè)開發(fā)架構(gòu),而是努力打造一套從 前端模板 - 基礎(chǔ)框架 - 分布式架構(gòu) - 開源項(xiàng)目 - 持續(xù)集成 - 自動(dòng)化部署 - 系統(tǒng)監(jiān)測(cè) - 無縫升級(jí) 的全方位J2EE企業(yè)級(jí)開發(fā)解決方案。
項(xiàng)目介紹
基于Spring+SpringMVC+Mybatis分布式敏捷開發(fā)系統(tǒng)架構(gòu),提供整套公共微服務(wù)服務(wù)模塊:內(nèi)容管理、支付中心、用戶管理(包括第三方)、微信平臺(tái)、存儲(chǔ)系統(tǒng)、配置中心、日志分析、任務(wù)和通知等,支持服務(wù)治理、監(jiān)控和追蹤,努力為中小型企業(yè)打造全方位J2EE企業(yè)級(jí)開發(fā)解決方案。
組織結(jié)構(gòu)
zheng ├──?zheng-common?--?SSM框架公共模塊 ├──?zheng-admin?--?后臺(tái)管理模板 ├──?zheng-ui?--?前臺(tái)thymeleaf模板[端口:1000] ├──?zheng-config?--?配置中心[端口:1001] ├──?zheng-upms?--?用戶權(quán)限管理系統(tǒng) |????├──?zheng-upms-common?--?upms系統(tǒng)公共模塊 |????├──?zheng-upms-dao?--?代碼生成模塊,無需開發(fā) |????├──?zheng-upms-client?--?集成upms依賴包,提供單點(diǎn)認(rèn)證、授權(quán)、統(tǒng)一會(huì)話管理 |????├──?zheng-upms-rpc-api?--?rpc接口包 |????├──?zheng-upms-rpc-service?--?rpc服務(wù)提供者 |????└──?zheng-upms-server?--?用戶權(quán)限系統(tǒng)及SSO服務(wù)端[端口:1111] ├──?zheng-cms?--?內(nèi)容管理系統(tǒng) |????├──?zheng-cms-common?--?cms系統(tǒng)公共模塊 |????├──?zheng-cms-dao?--?代碼生成模塊,無需開發(fā) |????├──?zheng-cms-rpc-api?--?rpc接口包 |????├──?zheng-cms-rpc-service?--?rpc服務(wù)提供者 |????├──?zheng-cms-search?--?搜索服務(wù)[端口:2221] |????├──?zheng-cms-admin?--?后臺(tái)管理[端口:2222] |????├──?zheng-cms-job?--?消息隊(duì)列、任務(wù)調(diào)度等[端口:2223] |????└──?zheng-cms-web?--?網(wǎng)站前臺(tái)[端口:2224] ├──?zheng-pay?--?支付系統(tǒng) |????├──?zheng-pay-common?--?pay系統(tǒng)公共模塊 |????├──?zheng-pay-dao?--?代碼生成模塊,無需開發(fā) |????├──?zheng-pay-rpc-api?--?rpc接口包 |????├──?zheng-pay-rpc-service?--?rpc服務(wù)提供者 |????├──?zheng-pay-sdk?--?開發(fā)工具包 |????├──?zheng-pay-admin?--?后臺(tái)管理[端口:3331] |????└──?zheng-pay-web?--?演示示例[端口:3332] ├──?zheng-ucenter?--?用戶系統(tǒng)(包括第三方登錄) |????├──?zheng-ucenter-common?--?ucenter系統(tǒng)公共模塊 |????├──?zheng-ucenter-dao?--?代碼生成模塊,無需開發(fā) |????├──?zheng-ucenter-rpc-api?--?rpc接口包 |????├──?zheng-ucenter-rpc-service?--?rpc服務(wù)提供者 |????└──?zheng-ucenter-web?--?網(wǎng)站前臺(tái)[端口:4441] ├──?zheng-wechat?--?微信系統(tǒng) |????├──?zheng-wechat-mp?--?微信公眾號(hào)管理系統(tǒng) |????|????├──?zheng-wechat-mp-dao?--?代碼生成模塊,無需開發(fā) |????|????├──?zheng-wechat-mp-service?--?業(yè)務(wù)邏輯 |????|????└──?zheng-wechat-mp-admin?--?后臺(tái)管理[端口:5551] |????└──?zheng-ucenter-app?--?微信小程序后臺(tái) ├──?zheng-api?--?API接口總線系統(tǒng) |????├──?zheng-api-common?--?api系統(tǒng)公共模塊 |????├──?zheng-api-rpc-api?--?rpc接口包 |????├──?zheng-api-rpc-service?--?rpc服務(wù)提供者 |????└──?zheng-api-server?--?api系統(tǒng)服務(wù)端[端口:6666] ├──?zheng-oss?--?對(duì)象存儲(chǔ)系統(tǒng) |????├──?zheng-oss-sdk?--?開發(fā)工具包 |????├──?zheng-oss-web?--?前臺(tái)接口[端口:7771] |????└──?zheng-oss-admin?--?后臺(tái)管理[端口:7772] ├──?zheng-message?--?實(shí)時(shí)通知系統(tǒng) |????├──?zheng-message-sdk?--?開發(fā)工具包 |????├──?zheng-message-server?--?服務(wù)端[端口:8881,SocketIO端口:8882] |????└──?zheng-message-client?--?客戶端 ├──?zheng-shop?--?電子商務(wù)系統(tǒng) └──?zheng-demo?--?示例模塊(包含一些示例代碼等)├──?zheng-demo-rpc-api?--?rpc接口包├──?zheng-demo-rpc-service?--?rpc服務(wù)提供者└──?zheng-demo-web?--?演示示例[端口:9999]技術(shù)選型
后端技術(shù):
前端技術(shù):
架構(gòu)圖
模塊依賴
模塊介紹
zheng-common
Spring+SpringMVC+Mybatis框架集成公共模塊,包括公共配置、MybatisGenerator擴(kuò)展插件、通用BaseService、工具類等。
zheng-admin
基于bootstrap實(shí)現(xiàn)的響應(yīng)式Material Design風(fēng)格的通用后臺(tái)管理系統(tǒng),zheng項(xiàng)目所有后臺(tái)系統(tǒng)都是使用該模塊界面作為前端展示。
zheng-ui
各個(gè)子系統(tǒng)前臺(tái)thymeleaf模板,前端資源模塊,使用nginx代理,實(shí)現(xiàn)動(dòng)靜分離。
zheng-upms
本系統(tǒng)是基于RBAC授權(quán)和基于用戶授權(quán)的細(xì)粒度權(quán)限控制通用平臺(tái),并提供單點(diǎn)登錄、會(huì)話管理和日志管理。接入的系統(tǒng)可自由定義組織、角色、權(quán)限、資源等。用戶權(quán)限=所擁有角色權(quán)限合集+用戶加權(quán)限-用戶減權(quán)限,優(yōu)先級(jí):用戶減權(quán)限>用戶加權(quán)限>角色權(quán)限
zheng-oss
文件存儲(chǔ)系統(tǒng),提供四種方案:
阿里云 OSS
騰訊云 COS
七牛云
本地分布式存儲(chǔ)
zheng-api
服務(wù)網(wǎng)關(guān),對(duì)外暴露統(tǒng)一規(guī)范的接口和包裝響應(yīng)結(jié)果,包括各個(gè)子系統(tǒng)的交互接口、對(duì)外開放接口、開發(fā)加密接口、接口文檔等服務(wù),可在該模塊支持驗(yàn)簽、鑒權(quán)、路由、限流、監(jiān)控、容錯(cuò)、日志等功能。示例圖:
zheng-cms
內(nèi)容管理系統(tǒng):支持多標(biāo)簽、多類目、強(qiáng)大評(píng)論的內(nèi)容管理,有基本單頁(yè)展示,菜單管理,系統(tǒng)設(shè)置等功能。
zheng-pay
一站式支付解決方案,統(tǒng)一下單接口,支持支付寶、微信、網(wǎng)銀等多種支付方式。不涉及業(yè)務(wù)的純粹的支付平臺(tái)。
統(tǒng)一下單(統(tǒng)一下單接口、統(tǒng)一掃碼)、訂單管理、數(shù)據(jù)分析、財(cái)務(wù)報(bào)表、商戶管理、渠道管理、對(duì)賬系統(tǒng)、系統(tǒng)監(jiān)控。
zheng-ucenter
通用用戶管理系統(tǒng), 實(shí)現(xiàn)最常用的用戶注冊(cè)、登錄、資料管理、個(gè)人中心、第三方登錄等基本需求,支持?jǐn)U展二次開發(fā)。
zheng-wechat-mp
微信公眾號(hào)管理平臺(tái),除實(shí)現(xiàn)官網(wǎng)后臺(tái)自動(dòng)回復(fù)、菜單管理、素材管理、用戶管理、消息群發(fā)等基礎(chǔ)功能外,還有二維碼推廣、營(yíng)銷活動(dòng)、微網(wǎng)站、會(huì)員卡、優(yōu)惠券等。
zheng-wechat-app
微信小程序后臺(tái)
zheng-message
基于Netty實(shí)現(xiàn)SocketIO的實(shí)時(shí)推送系統(tǒng)。支持命名空間、二進(jìn)制數(shù)據(jù)、SSL、ACK等功能。
環(huán)境搭建
開發(fā)工具:
MySql: 數(shù)據(jù)庫(kù)
jetty: 開發(fā)服務(wù)器
Tomcat: 應(yīng)用服務(wù)器
SVN|Git: 版本管理
Nginx: 反向代理服務(wù)器
Varnish: HTTP加速器
IntelliJ IDEA: 開發(fā)IDE
PowerDesigner: 建模工具
Navicat for MySQL: 數(shù)據(jù)庫(kù)客戶端
開發(fā)環(huán)境:
Jdk7+
Mysql5.5+
Redis
Zookeeper
ActiveMQ
Dubbo-admin
Dubbo-monitor
項(xiàng)目演示
預(yù)覽圖
數(shù)據(jù)模型
拓?fù)鋱D
項(xiàng)目地址
https://gitee.com/shuzheng/zheng?_from=gitee_search
原創(chuàng)電子書歷時(shí)整整一年總結(jié)的?Java 面試 + Java 后端技術(shù)學(xué)習(xí)指南,這是本人這幾年及校招的總結(jié),各種高頻面試題已經(jīng)全部進(jìn)行總結(jié),按照章節(jié)復(fù)習(xí)即可,已經(jīng)拿到了大廠offer。 原創(chuàng)思維導(dǎo)圖掃碼或者微信搜?程序員的技術(shù)圈子?回復(fù)?面試?領(lǐng)取原創(chuàng)電子書和思維導(dǎo)圖。總結(jié)
以上是生活随笔為你收集整理的基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬刚一周,3W字总结,一年的经验告诉你如
- 下一篇: 能挣钱的,开源 SpringBoot 商