ZSCAT分布式框架是啥?
使用技術 spring,springmvc ,mybatis 通用mapper,beetl maven redis dubbo zookeep bootstreap ace jquery 等等
主要是提供了常用的權限系統精確到按鈕級別和一些常用的功能和組件
分布式 主要是將系統分成多個模塊 如商城 可以分成會員中心,訂單管理 購物車等等,每個模塊 分為API 和實現兩個項目,實現項目也打成war包 獨立部署,每個模塊可以都可以多機部署。當然這樣的模式會導致開發和部署更加麻煩,項目分了多個模塊 本來部署一次的也變成了部署多次,分布式的事務也難解決。但還是有不得不分的理由............................
聲明:該框架面向企業,是大型互聯網分布式企業架構,后期會介紹linux上部署高可用集群項目。
有願意了解框架技術或者源碼的朋友直接加Q(951449465)一起學習
介紹
1. 項目核心代碼結構截圖

pig-common 通用的工具類及所有模塊都可以用的
pig-xx-api 模塊所對應的接口和域模型
pig-xx 模塊對應接口的實現類
pig-xx-portl 模塊所對應的前台顯示
pig-web 所有模塊的的后台 可以拆分為多個后台
pig-sso 項目模塊見的單點登錄
pig-search 項目所有的搜索
pig-scheculer 模塊的定時任務
特別提醒:開發人員在開發的時候可以將自己的業務REST服務化或者Dubbo服務化
2. 項目依賴介紹
2.1 后台管理系統、Scheculer定時調度系統依賴如下圖:
2.2 Dubbo獨立服務項目依賴如下圖:
3. 平台簡介
zsCat是一個分布式的框架,提供項目模塊化、服務化、熱插拔的思想,高度封裝安全性的Java EE快速開發平台。
zsCat本身集成Dubbo服務管控、Zookeeper注冊中心、Redis分布式緩存技術、FastDFS分布式文件系統、spring rabbitmq異步消息中間件、Nginx負載均衡等分布式技術
使用Maven做項目管理,項目模塊化,提高項目的易開發性、擴展性
以Spring Framework為核心容器,Spring MVC為模型視圖控制器,MyBatis為數據訪問層, Apache Shiro為權限授權層,Ehcahe對 redis常用數據進行緩存等。
前端集成Bootstrap4 ace beelt框架,UI響應式、扁平化布局,適應所有PC、Pad、Anroid、ios 移動設備等。
zsCat主要定位於互聯網企業架構,已內置企業信息化系統的基礎功能和高效的代碼生成工具,包括:系統權限組件、數據權限組件、數據字典組件、核心工具 組件、代碼生成等。采用分層設計、雙重驗證、提交數據安全編碼、密碼加密、訪問驗證、數據權限驗證。
zsCat目前包括以下模塊項目,后台系統管理系統,RestFul獨立服務系統、Scheduler定時調度系統、內容管理(CMS)系統、在線辦公(OA)系統、)。
后台管理系統包括企業組織架構(用戶管理、機構管理、區域管理)、菜單管理、角色權限管理、字典管理等功能;
RestFul獨立提供標准Rest服務API,您可以快速實現自己的業務,提供需要的服務;
Quartz定時調度系統可以動態配置您的任務規則等;
內容管理(CMS)系統,包括內容管理,欄目管理、站點管理、公共留言、文件管理、前端網站展示等功能;
在線辦公(OA)系統,主要提供簡單的流程實例。
zsCat提供了常用工具進行封裝,包括日志工具、緩存工具、服務器端驗證、數據字典、當前組織機構數據(用戶、機構、區域)以及其它常用小工具等。。使用了zsCat基礎框架,可以提高快速開發效 率。
4. 內置功能(只列了一部分功能)
1.用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
2.機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可隨意調整上下級。
3.區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。
4.菜單管理:配置系統菜單,操作權限,按鈕權限標識等。
5.角色管理:角色菜單權限分配、設置角色按機構進行數據范圍權限划分。
6.字典管理:對系統中經常使用的一些較為固定的數據進行維護,如:是否、男女、類別、級別等。
7.操作日志:系統正常操作日志記錄和查詢;系統異常信息日志記錄和查詢。
8.連接池監視:監視當期系統數據庫連接池狀態,可進行分析SQL找出系統性能瓶頸。
5. 開發工具
1.Eclipse IDE:采用Maven項目管理,模塊化。
6. 技術選型(只列了一部分技術)
1、后端
服務框架:Dubbo、zookeeper、Rest服務
緩存:Redis、ehcache
消息中間件:springrabbttMQ
負載均衡:Nginx
分布式文件:FastDFS
數據庫連接池:Alibaba Druid 1.0
核心框架:Spring framework
安全框架:Apache Shiro 1.2
視圖框架:Spring MVC 4.0
服務端驗證:Hibernate Validator 5.1
任務調度:quartz 1.8.5
持久層框架:MyBatis 3.2
日志管理:SLF4J 1.7、Log4j
工具類:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI
2、前端
JS框架:JQuery 1.9。 beelt
CSS框架: Bootstrap 4 ace
客戶端驗證:JQuery Validation Plugin。
富文本:UEcitor
文件管理:CKFinder
動態頁簽:Jerichotab
數據表格:jqGrid
對話框:layer
樹結構控件:jQuery zTree
其他組件:Bootstrap 4 ace
3、支持
服務器中間件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8
數據庫支持:目前僅提供mysql數據庫的支持,但不限於數據庫,下個版本升級多數據源切換和數據庫讀寫分離: 如:Oracle、SqlServer、H2等
支持開發環境:Eclipse、MyEclipse、Ras、Idea等
環境搭建:
1.環境准備
1.開發工具: Eclipse IDE(建議使用高一點的版本)
2.JDK版本:JDK1.7
3.項目管理: Maven3.1.1
2.安裝步驟
1.安裝jdk1.7並配置環境變量(相信大家都會做,這里不再做重復的說明)
2.安裝maven:maven安裝過程就是解壓縮的過程(我已經幫大家解壓了, 目錄:E:\myprj\zscat-maven\apache-maven-3.1.1),為了方便大家,這邊已經提供了相關的安裝包,會在打包的目錄下共享。
3.mavan配置環境變量,右擊我的電腦?屬性?高級系統設置?環境變量?找到(系統變量path),在最前面輸入你的maven安裝包路徑,聲明:因為上一步解壓了指定的目錄,所以配置如下:
E:\myprj\zscat-maven\apache-maven-3.1.1\bin;
相信大家都有配過環境變量,如果您不是很清楚,請查詢相關資料,了解一下maven的相關知識。
4.打開 cmd,在里面敲:mvn –version,出現以下結果說明你maven安裝成功了

mvn 是 maven 的一個指令,mvn-version 是查看版本信息,我的操作系統是 64位的WIN7,安裝的 maven 是 3.1.1,如果能打印如上信息,說明到此 Maven3 已經在你的電腦上安裝完成。
5.建工作空間(進入后選中import maven視圖)

6.配置Eclipse編碼為UTF-8
Eclipse工具欄中選擇Window》Prefrences》General》Workspace
7.配置jre環境(之前大家需要安裝了jdk1.7版本,這里就使用安裝好的jdk進行配置):
選擇Window》Prefrences》java》Installed JREs》Edit》選擇自己本地jdk安裝路徑》Finished》OK

8.去除JavaScript的驗證等信息(因為項目中大量使用js、css、xml等其他不同格式的文件,考慮到每次編譯的執行時間,所以這邊臨時將一些驗證信息去除)
Window》Prefrences》Validation》Suspend all validators》ok
zs
9. 修改剛剛安裝的maven settings.xml配置文件,路徑如下:E:\myprj\zscat-maven\apache-maven-3.1.1\conf,
添加本地庫地址:E:/myprj/zscat-maven/apache-maven-3.1.1/repository
修改中央庫路徑(在網絡正常的情況下,可以從遠程中央庫下載缺失的jar包,我這里使用了Oschina的中央庫,如果網絡有問題,
大家可以使用自己公司的私服進行加載相關jar包),考慮到大家包有時候下載不下來,我這里也給大家共享了項目所需要的jar包,全部放到了以下目錄:
E:/myprj/zscat-maven/apache-maven-3.1.1/repository

10. Eclipse中配置maven安裝目錄和Setting文件加載的本地庫目錄
11.導入Maven項目
File》Import》Existing Maven Projects》下一步
選擇你本地的maven項目(請選中zscat-project根目錄),點擊確定
加載出來所有項目后,點擊finish完成
提醒:這個導入的過程要一段時間,因為我本地連接網絡,所以會從遠程中央庫下載項目所需要的所有的jar包,請大家耐心等候。
如果你使用了本地庫則不需要等待很長時間,如果是使用公司私服,則等待時間也不會很長。
導入后的項目信息
本地庫的包已經下載了
12.下載完所有jar包,更新maven項目:
1)選中所有項目 2) 右鍵選擇maven》Update project 選擇所有》勾選關聯項》點擊ok
如果項目還出現紅X錯誤,則必定是缺少相關的jar包,可以使用:
Window》showView》problem窗口查看異常信息
如果缺少jar包,可以將我們提供的jar包直接copy到你指定目錄即可
待項目里面的所有錯誤全部清零后才能進行下一步工作(如下圖所示)
選中所有項目,對項目進行清理:Project》clean
13. 嘗試對項目進行編譯、打包看是否有問題:
注意:一般我們打包編譯是針對於根項目,因為里面配置了所有的依賴關系。右鍵zscat-project》Run As》Maven build…
在彈出的對話框中錄入clean install –X 命令,勾選Skip tests,Run…
提醒:如果對maven命令不是很熟的,可以去查下相關的資料
這邊簡單做下解釋: clean install –X 表示清理所有項目並將jar包裝載到本地庫,其中-X表示輸出的信息(一般在出現maven問題的時候可以使用-X來定位問題。)
此時控制台開始編譯裝載所有的包,這個過程有點漫長,請大家耐心等候

出現以下結果說明項目是正常的。

打好的包(包含war、jar),都在target文件夾下,這邊只以pig-web為實例截圖如下:
14.Tomcat發布zscat項目(發布過程不做詳細介紹,大家都會做):
下面對各個不同的項目進行介紹:
pig-web: 可以獨立部署(后台管理平台)
pig-cms dubbo服務可以獨立部署 可以部署單機也可以多機部署(本機可以郵局運行啟動當前模塊的Bootstrap.java 類)
部署條件:
1) 執行mysql數據庫腳本: pig.sql
數據庫jdbc的配置項可以參考
部署dubbo相關的項目需要具備以下條件
>安裝dubbo管控平台,將war包解壓到tomcat,並將目錄替換為根目錄,直接啟動tomcat即可(開發環境提供window)
>Zookeeper注冊中心安裝,我這邊提供了zookeeper-3.4.5版本(開發環境提供window),進入安裝目錄啟動即可
提醒: 我這邊已經給提供了相關的程序,其中dubbo管控平台要獨立部署在Tomcat服務器上,這個不需要進行高可用配置,直接啟動tomcat就可以啟動。Zookeeper注冊中心有相關的命令可以直接運行啟動。如果想部署在linux系統上,可以看我們提供的相關文檔即可
5) 待dubbo管控台和注冊中心啟動ok,則將pig-cms、pig-oa項目同時(可以獨立部署)部署到tomat中,為dubbo服務提供者
6) 登陸dubbo管控台查看相關的服務信息,可以看到你發布的服務已經由管控台進行管控了:
http://localhost:8080/root
直接通過地址可以訪問是因為將包名改為了Root
用戶名密碼:root/root
7) 分部部署pig-cms、pig-oa dubbo消費者項目,目的是讓開發人員了解服務是怎樣調用的。
到此整個項目的安裝過程先到這里,請各位開發人員安裝完項目后投入開發,所有的業務直接服務化,因為項目是基於驅動開發的,故將你們的表設計好,通過一個工具類生成所有的controller、service、dao、xml、jsp界面等,直接進行業務編寫處理。近期會不斷的完善文檔,請時刻關注。
微信掃一掃
關注該公眾號
