點擊上方「全棧程序員社區」,星標公衆號
前端
前言
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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。