基於Spring+SpringMVC+Mybatis的分佈式敏捷開發系統架構

點擊上方「全棧程序員社區」,星標公衆號
前端

重磅乾貨,第一時間送達


前言
nginx

目不單單是一個開發架構,而是努力打造一套從 前端模板 - 基礎框架 - 分佈式架構 - 開源項目 - 持續集成 - 自動化部署 - 系統監測 - 無縫升級 的全方位J2EE企業級開發解決方案。git

項目介紹

基於Spring+SpringMVC+Mybatis分佈式敏捷開發系統架構,提供整套公共微服務服務模塊:內容管理、支付中心、用戶管理(包括第三方)、微信平臺、存儲系統、配置中心、日誌分析、任務和通知等,支持服務治理、監控和追蹤,努力爲中小型企業打造全方位J2EE企業級開發解決方案。程序員

組織結構

zheng
├── zheng-common -- SSM框架公共模塊
├── zheng-admin -- 後臺管理模板
├── zheng-ui -- 前臺thymeleaf模板[端口:1000]
├── zheng-config -- 配置中心[端口:1001]
├── zheng-upms -- 用戶權限管理系統
| ├── zheng-upms-common -- upms系統公共模塊
| ├── zheng-upms-dao -- 代碼生成模塊,無需開發
| ├── zheng-upms-client -- 集成upms依賴包,提供單點認證、受權、統一會話管理
| ├── zheng-upms-rpc-api -- rpc接口包
| ├── zheng-upms-rpc-service -- rpc服務提供者
| └── zheng-upms-server -- 用戶權限系統及SSO服務端[端口:1111]
├── zheng-cms -- 內容管理系統
| ├── zheng-cms-common -- cms系統公共模塊
| ├── zheng-cms-dao -- 代碼生成模塊,無需開發
| ├── zheng-cms-rpc-api -- rpc接口包
| ├── zheng-cms-rpc-service -- rpc服務提供者
| ├── zheng-cms-search -- 搜索服務[端口:2221]
| ├── zheng-cms-admin -- 後臺管理[端口:2222]
| ├── zheng-cms-job -- 消息隊列、任務調度等[端口:2223]
| └── zheng-cms-web -- 網站前臺[端口:2224]
├── zheng-pay -- 支付系統
| ├── zheng-pay-common -- pay系統公共模塊
| ├── zheng-pay-dao -- 代碼生成模塊,無需開發
| ├── zheng-pay-rpc-api -- rpc接口包
| ├── zheng-pay-rpc-service -- rpc服務提供者
| ├── zheng-pay-sdk -- 開發工具包
| ├── zheng-pay-admin -- 後臺管理[端口:3331]
| └── zheng-pay-web -- 演示示例[端口:3332]
├── zheng-ucenter -- 用戶系統(包括第三方登陸)
| ├── zheng-ucenter-common -- ucenter系統公共模塊
| ├── zheng-ucenter-dao -- 代碼生成模塊,無需開發
| ├── zheng-ucenter-rpc-api -- rpc接口包
| ├── zheng-ucenter-rpc-service -- rpc服務提供者
| └── zheng-ucenter-web -- 網站前臺[端口:4441]
├── zheng-wechat -- 微信系統
| ├── zheng-wechat-mp -- 微信公衆號管理系統
| | ├── zheng-wechat-mp-dao -- 代碼生成模塊,無需開發
| | ├── zheng-wechat-mp-service -- 業務邏輯
| | └── zheng-wechat-mp-admin -- 後臺管理[端口:5551]
| └── zheng-ucenter-app -- 微信小程序後臺
├── zheng-api -- API接口總線系統
| ├── zheng-api-common -- api系統公共模塊
| ├── zheng-api-rpc-api -- rpc接口包
| ├── zheng-api-rpc-service -- rpc服務提供者
| └── zheng-api-server -- api系統服務端[端口:6666]
├── zheng-oss -- 對象存儲系統
| ├── zheng-oss-sdk -- 開發工具包
| ├── zheng-oss-web -- 前臺接口[端口:7771]
| └── zheng-oss-admin -- 後臺管理[端口:7772]
├── zheng-message -- 實時通知系統
| ├── zheng-message-sdk -- 開發工具包
| ├── zheng-message-server -- 服務端[端口:8881,SocketIO端口:8882]
| └── zheng-message-client -- 客戶端
├── zheng-shop -- 電子商務系統
└── zheng-demo -- 示例模塊(包含一些示例代碼等)
├── zheng-demo-rpc-api -- rpc接口包
├── zheng-demo-rpc-service -- rpc服務提供者
└── zheng-demo-web -- 演示示例[端口:9999]

技術選型

後端技術:

前端技術:

架構圖

模塊依賴

模塊介紹

zheng-commonweb

Spring+SpringMVC+Mybatis框架集成公共模塊,包括公共配置、MybatisGenerator擴展插件、通用BaseService、工具類等。sql

zheng-admin數據庫

基於bootstrap實現的響應式Material Design風格的通用後臺管理系統,zheng項目全部後臺系統都是使用該模塊界面做爲前端展現。bootstrap

zheng-ui小程序

各個子系統前臺thymeleaf模板,前端資源模塊,使用nginx代理,實現動靜分離。後端

zheng-upms

本系統是基於RBAC受權和基於用戶受權的細粒度權限控制通用平臺,並提供單點登陸、會話管理和日誌管理。接入的系統可自由定義組織、角色、權限、資源等。用戶權限=所擁有角色權限合集+用戶加權限-用戶減權限,優先級:用戶減權限>用戶加權限>角色權限

zheng-oss

文件存儲系統,提供四種方案:

  • 阿里雲 OSS

  • 騰訊雲 COS

  • 七牛雲

  • 本地分佈式存儲

zheng-api

服務網關,對外暴露統一規範的接口和包裝響應結果,包括各個子系統的交互接口、對外開放接口、開發加密接口、接口文檔等服務,可在該模塊支持驗籤、鑑權、路由、限流、監控、容錯、日誌等功能。示例圖:

zheng-cms

內容管理系統:支持多標籤、多類目、強大評論的內容管理,有基本單頁展現,菜單管理,系統設置等功能。

zheng-pay

  • 一站式支付解決方案,統一下單接口,支持支付寶、微信、網銀等多種支付方式。不涉及業務的純粹的支付平臺。

  • 統一下單(統一下單接口、統一掃碼)、訂單管理、數據分析、財務報表、商戶管理、渠道管理、對帳系統、系統監控。

zheng-ucenter

通用用戶管理系統, 實現最經常使用的用戶註冊、登陸、資料管理、我的中心、第三方登陸等基本需求,支持擴展二次開發。

zheng-wechat-mp

微信公衆號管理平臺,除實現官網後臺自動回覆、菜單管理、素材管理、用戶管理、消息羣發等基礎功能外,還有二維碼推廣、營銷活動、微網站、會員卡、優惠券等。

zheng-wechat-app

微信小程序後臺

zheng-message

基於Netty實現SocketIO的實時推送系統。支持命名空間、二進制數據、SSL、ACK等功能。

環境搭建

開發工具:

  • MySql: 數據庫

  • jetty: 開發服務器

  • Tomcat: 應用服務器

  • SVN|Git: 版本管理

  • Nginx: 反向代理服務器

  • Varnish: HTTP加速器

  • IntelliJ IDEA: 開發IDE

  • PowerDesigner: 建模工具

  • Navicat for MySQL: 數據庫客戶端

開發環境:

  • Jdk7+

  • Mysql5.5+

  • Redis

  • Zookeeper

  • ActiveMQ

  • Dubbo-admin

  • Dubbo-monitor

項目演示

預覽圖

    

數據模型

拓撲圖

項目地址

https://gitee.com/shuzheng/zheng?_from=gitee_search


本文分享自微信公衆號 - 全棧程序員社區(mush_it)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索