Java Springboot 開(kāi)源微服務(wù)架構(gòu)管理后臺(tái)搭建實(shí)戰(zhàn)
簡(jiǎn)介
觀看本文之前,默認(rèn)讀者已經(jīng)是工作中的同學(xué)了,最起碼懂得開(kāi)發(fā)工具怎么用,如果不會(huì),就可以略過(guò)過(guò)程,直接收藏吧,以后會(huì)用得到。
本文重點(diǎn)是調(diào)試過(guò)程,不是項(xiàng)目地址,不過(guò)只需要地址的,可以直接調(diào)到末尾獲取鏈接獲取方法。
最近公司,要上spring boot 微服務(wù)管理后臺(tái),找來(lái)找去,找到一個(gè)開(kāi)源的項(xiàng)目,然后進(jìn)行了修改調(diào)試。閑來(lái)無(wú)事,把過(guò)程做個(gè)記錄,沒(méi)有調(diào)試過(guò)的小伙伴,趕緊關(guān)注,點(diǎn)贊,轉(zhuǎn)發(fā),收藏吧。文章末尾有開(kāi)源項(xiàng)目鏈接獲取方法。開(kāi)源項(xiàng)目好找,但調(diào)試實(shí)戰(zhàn)不易,請(qǐng)君珍惜。
項(xiàng)目總架構(gòu)介紹
當(dāng)然此項(xiàng)目是開(kāi)源了,項(xiàng)目架構(gòu)是開(kāi)源作者畫(huà)的,直接上圖了。尊重感謝開(kāi)源作者。

項(xiàng)目主要功能預(yù)覽
1、統(tǒng)一認(rèn)證功能:支持oauth2的四種模式登錄、支持用戶名、密碼加圖形驗(yàn)證碼登錄、支持手機(jī)號(hào)加密碼登錄、支持openId登錄、支持第三方系統(tǒng)單點(diǎn)登錄
2、分布式系統(tǒng)基礎(chǔ)支撐:服務(wù)注冊(cè)發(fā)現(xiàn)、路由與負(fù)載均衡、服務(wù)降級(jí)與熔斷、服務(wù)限流(url/方法級(jí)別)、統(tǒng)一配置中心、統(tǒng)一日志中心、統(tǒng)一搜索中心、統(tǒng)一分布式緩存操作類(lèi)、cacheManager配置擴(kuò)展、分布式鎖、分布式任務(wù)調(diào)度器、支持CI/CD持續(xù)集成(包括前端和后端)、分布式Id生成器、分布式事務(wù)(強(qiáng)一致性/最終一致性)、日志鏈路追蹤
3、系統(tǒng)監(jiān)控功能:服務(wù)調(diào)用鏈監(jiān)控、應(yīng)用拓?fù)鋱D、慢查詢(xún)SQL監(jiān)控、應(yīng)用吞吐量監(jiān)控(qps、rt)、服務(wù)降級(jí)、熔斷監(jiān)控、服務(wù)限流監(jiān)控、微服務(wù)服務(wù)監(jiān)控、服務(wù)器監(jiān)控、redis監(jiān)控、mysql監(jiān)控、elasticSearch監(jiān)控、nacos監(jiān)控、prometheus監(jiān)控
4、業(yè)務(wù)基礎(chǔ)功能支撐:多租戶(應(yīng)用隔離)、高性能方法級(jí)冪等性支持、RBAC權(quán)限管理,實(shí)現(xiàn)細(xì)粒度控制(方法、url級(jí)別)、快速實(shí)現(xiàn)導(dǎo)入、導(dǎo)出功能、數(shù)據(jù)庫(kù)訪問(wèn)層自動(dòng)實(shí)現(xiàn)crud操作、代碼生成器、基于Hutool的各種便利開(kāi)發(fā)工具、網(wǎng)關(guān)聚合所有服務(wù)的Swagger接口文檔、統(tǒng)一跨域處理、統(tǒng)一異常處理。
核心調(diào)試部分
環(huán)境:16G內(nèi)存的電腦、JDK1.8以上,Maven3.6以上,開(kāi)發(fā)工具Idea,mysql 5.7以上,redis 3以上版本。
1、導(dǎo)入項(xiàng)目從開(kāi)源github上,或者gitee上的地址,如下圖操作,如果網(wǎng)快的畫(huà)基本幾分鐘就好了,如果網(wǎng)速慢,那就等等吧。

2、導(dǎo)入完成后大致是這個(gè)樣子的,就問(wèn)你多不多?。。?/strong>沒(méi)辦法,誰(shuí)叫咱是互聯(lián)網(wǎng)后臺(tái)開(kāi)發(fā)者呢??!

3、啟動(dòng)依賴(lài)程序,redis,nacos(類(lèi)似zookeeper或者spring boot 中的eureka),如果有elasticsearch(搜索引擎類(lèi)似solr),和sentinel(流量哨兵)也可以啟動(dòng)一下,沒(méi)有就可以不啟動(dòng),后續(xù)隨著業(yè)務(wù)量的增加再啟動(dòng),畢竟小公司嘛
redis服務(wù)啟動(dòng)(windows的),當(dāng)然生產(chǎn)環(huán)境是linux的
Nacos注冊(cè)中心
4、執(zhí)行數(shù)據(jù)庫(kù)腳本,導(dǎo)入數(shù)據(jù)庫(kù),如下圖

全部source 一下
- mysql> source file-center.sql
- mysql> source oauth-center.sql
- mysql> source tx-manager.sql
- mysql> source tx-logger.sql
- mysql> source user-center.sql
- mysql> source xxl-job.sql

5、修改配置文件,把里面的所有的配置文件的ip都替換成本機(jī)的127.0.0.1,idea可以批量替換,如圖:

6、開(kāi)始啟動(dòng)吧?。?/p>
A、啟動(dòng)認(rèn)證中心zlt-uaa
B、啟動(dòng)用戶中心zlt-bussiness/user-center
C、啟動(dòng)網(wǎng)關(guān)zlt-gateway/zuul-gateway
D、啟動(dòng)前端工程zlt-web/back-web
如下圖:

再看注冊(cè)中心服務(wù)治理的截圖:

7、訪問(wèn)測(cè)試 localhost:8066:賬戶密碼 admin:admin 至此測(cè)試成功。然后運(yùn)行其他的模塊吧,包含 文件中心、代碼生成器、微服務(wù)應(yīng)用監(jiān)控、統(tǒng)一配置中心、統(tǒng)一日志中心、慢查詢(xún)sql、分布式任務(wù)調(diào)度、服務(wù)限流、降級(jí)熔斷控制臺(tái)和應(yīng)用吞吐量監(jiān)控、APM監(jiān)控、分布式事務(wù)(tx-lcn)、 搜索中心、首頁(yè)(流量統(tǒng)計(jì)),有興趣的同學(xué)自己探索吧

結(jié)語(yǔ):
此套開(kāi)源代碼試用于剛剛創(chuàng)業(yè)的小公司,也適用于上了規(guī)模的互聯(lián)網(wǎng)公司,目前gitee和github綜合star數(shù)量也已經(jīng)超過(guò)2k以上,是架構(gòu)師拿來(lái)參考搭建本公司微服務(wù)架構(gòu)的良好選擇。