SpringBlade簡介
SpringBlade 是由一個商業(yè)級項目升級優(yōu)化而來的SpringCloud微服務(wù)架構(gòu)吓肋,采用Java8 API重構(gòu)了業(yè)務(wù)代碼有缆,完全遵循阿里巴巴編碼規(guī)范字旭。采用Spring Boot 2 据沈、Spring Cloud Greenwich 捶牢、Mybatis 等核心技術(shù)鸠珠,同時提供基于React和Vue的兩個前端框架用于快速搭建企業(yè)級的SaaS微服務(wù)系統(tǒng)平臺加派。
環(huán)境要求
JDK: 1.8
Maven: 3.3+
MySql: 5.7+
Redis: 4.0+
Nacos: 1.1.3+
Sentinel: 1.5.0+
Node Js: 10.15.0+
Npm: 5.6.0+
推薦IDE及插件
IntelliJ IDEA
插件:Lombok、 MybatisX
環(huán)境準備
安裝Nacos
1. Nacos簡介
Nacos是阿里巴巴開源的一款支持服務(wù)注冊與發(fā)現(xiàn)跳芳,配置管理以及微服務(wù)管理的組件芍锦。用來取代以前常用的注冊中心(zookeeper , eureka等等),以及配置中心(spring cloud config等等)飞盆。Nacos是集成了注冊中心和配置中心的功能娄琉,做到了二合一。
2. 源碼安裝
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
3. 啟動與關(guān)閉
// 啟動 (Linux/Mac非集群啟動)
sh startup.sh -m standalone
// 關(guān)閉 (Linux/Mac)
sh shutdown.sh
4. 訪問
- 訪問地址:http://localhost:8848/nacos
-
賬號密碼都為:nacos
Nacos
安裝Sentinel
1. 簡介
Sentinel是面向分布式服務(wù)框架的輕量級流量控制框架,主要以流量為切入點,從流量控制,熔斷降級,系統(tǒng)負載保護等多個維度來維護系統(tǒng)的穩(wěn)定性.
2. 安裝(采用Docker安裝)
拉取鏡像:docker pull bladex/sentinel-dashboard
運行鏡像:docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
3.訪問地址
- dashboard 地址:http://localhost:8858 (默認端口為8080)
-
賬號密碼都為:sentinel
sentinel
安裝運行Blade
工程導(dǎo)入
github地址:https://github.com/chillzhuang/SpringBlade.git
可以通過IDEA直接git導(dǎo)入吓歇;或者clone到本地后孽水,使用IDEA打開
初始化數(shù)據(jù)庫
- 新建數(shù)據(jù)庫blade,字符集指定:utf8mb4
- 找到SpringBlade工程doc->sql文件夾下的sql腳本 (若前端使用saber則使用帶saber的sql城看,反之用sword)
-
執(zhí)行腳本導(dǎo)入
數(shù)據(jù)庫表
Nacos增加配置
- 訪問Nacos女气,點擊新建配置("+"號)
-
找到工程doc/nacos/blade.yaml文件,將內(nèi)容復(fù)制到nacos中點發(fā)布
導(dǎo)入blade.yaml配置 - 同理新增blade-dev.yaml配置
啟動工程
- 先確保mysql测柠、redis炼鞠、nacos、sentinel等服務(wù)都啟動
-
批量啟動基礎(chǔ)服務(wù)(除Gateway外)
啟動服務(wù) - 最后啟動GateWay
- 訪問Nacos轰胁,查看服務(wù)管理下的服務(wù)列表谒主,驗證服務(wù)是否啟動成功
測試
打開接口文檔系統(tǒng) http://localhost/doc.html ,設(shè)置請求頭和參數(shù)赃阀,并調(diào)用授權(quán)接口霎肯。
請求頭:
Authorization: Basic c3dvcmQ6c3dvcmRfc2VjcmV0
(其中"c3dvcmQ6c3dvcmRfc2VjcmV0"為clientId:clientSecret串轉(zhuǎn)換為的base64編碼
請求參數(shù):
username: admin
password: admin
tenantCode: 000000
若接口返回如下則說明整個工程啟動成功