open_springcloud基于 Spring Cloud 的分布式微服務(wù)組件
介紹
1.該項(xiàng)目為 Spring Cloud 分布式微服務(wù)模板架構(gòu)項(xiàng)目,已經(jīng)集成事務(wù)管理器, 致力于提供微服務(wù)開發(fā)的一站式解決方案。 此項(xiàng)目包含開發(fā)分布式應(yīng)用微服務(wù)的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應(yīng)用服務(wù)。
軟件架構(gòu)
1、使用技術(shù):
spring boot :2.1.4.RELEASE springcloud :Greenwich.SR1 mybatis-plus:3.0.7.1 redis:5.0.5 開發(fā) ( 3.0.503) mysql : 5.5 jdk: 1.8 txlcn: 5.0.2.RELEASE (分布式事務(wù)解決組件) zipkin: 2.1.1.RELEASE (鏈路追蹤 ,服務(wù)監(jiān)控) eureka:2.1.1.RELEASE (注冊(cè)中心)
2、項(xiàng)目目錄結(jié)構(gòu):
common-eureka-server:注冊(cè)中心服務(wù)
common-fegin-server:各服務(wù)fegin 調(diào)用業(yè)務(wù)接口api
common-gateway-server: 網(wǎng)關(guān)服務(wù) (通過網(wǎng)關(guān)映射不同服務(wù))
所有靜態(tài)文件由網(wǎng)關(guān)做轉(zhuǎn)發(fā)統(tǒng)一處理
common-txlcn-manager-server: 引入txlcn 事務(wù)管理器 服務(wù)
common-zipkin-server: 鏈路追蹤服務(wù)
common-item-config:服務(wù)模塊公共配置
common-item-constant:服務(wù)模塊常量
common-item-util:服務(wù)模塊集成工具包
db: 數(shù)據(jù)庫文件:
1.common-txlcn-magager-server.sql 事務(wù)管理器服務(wù)數(shù)據(jù)庫
2.project-bourse-data-kline.sql 金融數(shù)據(jù)服務(wù)數(shù)據(jù)庫
3.project-bourse-data-kline 生成八字 服務(wù) 數(shù)據(jù)庫
img:說明文檔引入圖片
doc: 項(xiàng)目文檔等資料存放目錄
log:日志目錄
page:各服務(wù)管理后臺(tái)頁面
-----------------------各獨(dú)立服務(wù)項(xiàng)目模塊--------------------------------------------------
-
project-bourse-data-kline:金融數(shù)據(jù)服務(wù) (已完成接口服務(wù))
文檔地址:
https://www.showdoc.cc/422262238104889訪問密碼:23456 -
project-open-birthdate-item:生成八字 服務(wù) (待完成...)
-
project-platform-item: 權(quán)限管理快速平臺(tái) 服務(wù)(待完成...)
4、項(xiàng)目登陸權(quán)限校驗(yàn) (基于攔截器)(權(quán)限平臺(tái))
使用技術(shù):redis+JWT
具體方法:
1。用戶登陸后生成 jwt token 信息,每次 生成 token 信息都不一樣
2。存儲(chǔ)到redis 中,設(shè)置超時(shí)
3。用戶登陸成功后,返回前端token 信息
4。前端請(qǐng)求接口 時(shí) 把 token 放入 heder 頭中
5。每次請(qǐng)求,通過攔截器校驗(yàn) token 信息
6。登陸狀態(tài)
未登錄:攔截器中獲取不到 token 信息 則用戶未登陸
單設(shè)備登錄:請(qǐng)求頭中獲取的 token信息 與 redis 中存儲(chǔ)的不一致 則用戶已在其他地方登陸
登陸超時(shí):redis 中 獲取不到用戶的 token 信息,則用戶登陸超時(shí)
5、項(xiàng)目啟動(dòng)順序
common-eureka-server --> common-txlcn-manager-server
|
V
common-gateway-server <-- common-zipkin-server
|
V
project-platform-item .... 等其他各服務(wù)模塊
安裝教程
-
單個(gè)服務(wù)安裝教程:
1、搭建服務(wù)器環(huán)境
1:到 `https://oneinstack.com/` 網(wǎng)站自定義安裝包 (數(shù)據(jù)庫,redis ,jdk ,nginx) 2:服務(wù)器上執(zhí)行從上面網(wǎng)站復(fù)制的 命令:
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --jdk_option 2 --db_option 4 --dbinstallmethod 1 --dbrootpwd oneinstack --redis --reboot2、創(chuàng)建數(shù)據(jù)庫,
3、服務(wù)器上創(chuàng)建項(xiàng)目目錄 文件
1:靜態(tài)資源目錄:/home/project/staticFile 2:配置文件目錄:/home/project/config 3: 日志目錄:/home/project/log 4:啟動(dòng)腳本: 把doc 文件下的shell 腳本 放入 /home/project/ 目錄下 修改腳本名字為:charge.sh 修改啟動(dòng)腳本為可執(zhí)行:chmod 777 xxx.sh 修改腳本文件里啟動(dòng)項(xiàng)目名字: 為 xxx.jar
4、把服務(wù)打包成 jar 包 修改名字 為 xxx.jar 上傳到服務(wù)器 /home/project/ 目錄下
啟動(dòng)項(xiàng)目 : ./charge.sh restart
查看實(shí)時(shí)日志: tail -f ./log/catalina.out
5、上傳靜態(tài)資源 前端文件 到服務(wù)器 /home/project/staticFile/ 目錄下
1、該目錄下如果創(chuàng)建后臺(tái)管理頁面目錄 admin(或其他名字) 則把靜態(tài)頁面放到 admin 目錄下
訪問路徑為:http://ip:端口/admin/index.html
2、如果index.html 在 /home/project/staticFile/ 目錄下
則項(xiàng)目訪問路徑為:http://ip:端口/index.html
3、可在 /home/project/staticFile/ 下創(chuàng)建多個(gè)項(xiàng)目的靜態(tài)資源文件目錄,
訪問路徑為:http://ip:端口/靜態(tài)資源文件目錄/index.html
6、使用 nginx 轉(zhuǎn)發(fā)項(xiàng)目 ,在nginx 里配置 https 訪問
