- 沒有積分入羣自取
- 本人微信
CSDN下載地址 -
分享一些關於這個分佈式環境的搭建遇到一些坑,幫助後來者更好的學習分佈式相關技術
使用技術:
後臺
- 使用Spring Boot 構建整個項目 去除 XML 配置
- Maven構建項目
- Jenkins作爲持續集成
- 採用Dubbox作爲RPC框架
- kryo序列化
- 使用 Apollo 配置中心(目前這個有問題,導致項目不能啓動,我已經全部註釋)
- 使用Spring+Spring MVC+MyBatisSSM框架
- 數據庫連接池使用druid
- 數據庫使用MySQL和Redis
- 頁面引擎採用 Beetl
- 網頁採用freemarker生成靜態化頁面
- 存儲採用FastDFS存儲圖片等文件
- 採用Solr實現搜索服務
- Swagger2 生成 RESTful Apis文檔
- 負載均衡使用Nginx、keepalived實現高可用
- 採用Spring Scheduled做任務調度
- 消息中間件採用RabbitMQ
- 在分佈式事務上則採用了TCC解決訂單支付方面時效性要求性高的分佈式事務,可靠的消息服務則來解決如會計記錄等時效性要求低的分佈式事務.
前臺
- 採用基於AdminLTE的roncoo-adminLTE(主要增加了Ajax的佈局模式)
- AdminLTE集成太多Js這裏就不一一列舉了
項目結構圖
[外鏈圖片轉存失敗(img-3jXlSkDa-1562930369937)(https://raw.githubusercontent.com/xubinux/xbin-store/master/Images/xbin-store.png)]
目前的開發進度
直接看效果圖
運行環境
- jdk1.8+tomcat+mysql+maven+idea
安裝過程
- 一定先看作者的安裝視頻,視頻地址鏈接:https://pan.baidu.com/s/1qZTPwlu 密碼:irn0
- 源碼目錄結構,我使用的idea直接導入,導入正確的結構,會出現各種jar包問題,我直接把本地的倉庫全部上傳了,maven本地倉庫下載鏈接:https://pan.baidu.com/s/1o9Tn3HC,密碼:iu2a 直接覆蓋本地的.m2下的文件即可
- 註釋掉裏面所有關於私服的配置,阿里雲鏡像的保留,只註釋私服
- 使用 Apollo 配置中心,關於Apollo自行百度,如果使用這個配置會一直報一個關於com/google/guava,不用管他,把所有的@EnableApolloConfig全部註釋掉
- 此時項目編譯應該不會出現紅線錯誤,如果有還是存在,建議更新下maven索引,會有點長,等他更新完,重啓idea
- 如果出現spring-boot-starter-druid,doubbox,redis找不到的情況,建議直接使用idea導入源碼,install到本地倉庫
- 關於虛擬機的搭建,爲了方便測試,我在虛擬機上的Windows上搭建了zookeeper+dobbuo+redis+jdk1.8+tomcat8的環境,使用本地的mysql,fastdfs不影響程序運行沒有搭建,直接使用VMware Fusion 導入即可使用,鏡像下載地址
- 啓動zookeeper,在啓動tomcat,redis,直接輸入,啓動順序一定是先zookeeper在tomcat,http://127.0.0.1:8080/dubbo-admin-2.5.5/會要一個填寫賬號密碼的彈窗,默認賬號密碼是root/root,我虛擬機的運行情況
- 修改項目中的所有的yml文件,有兩個要注意的地方,一是zookeeper的註冊地址,而是doubbo的地址,zookeeper寫虛擬機的地址,端口不用變,doubbo直接註釋掉或者填寫本機的IP,如果出現IP問題,百度VMware固定IP的設置
- 關於druid密碼加密的問題,我即是加密一樣出現一個密碼未加密的錯誤,建議是直接改爲false,然後填寫未加密的密碼
- 接下里開始編譯項目,使用install -DskipTests
- 正確的編譯截圖,如果還有問題,一般都是jar的問題
項目運行
- 啓動XbinStoreServiceRedisApplication
- 啓動XbinStoreServiceNotifyApplication
- 啓動XbinStoreServiceSSOApplication
- 啓動XbinStoreWebSSOApplication
- 整個項目所有的static文件目錄不能出現任何錯誤,js.css這些一樣不行,全部啓動成功,輸入localhost:8104/login就可以看到登陸頁面
- 關於後臺登陸密碼的問題,作者使用DigestUtils.md5DigestAsHex去加密密碼,我沒有使用fastdfs所以直接生成的密碼
下面是本人微信號,有做技術的朋友加V一起討論學習