SpringBoot+Dubbo+Serata+Nacos微服務搭建

hu8liang發表於2020-03-26

Dubbo + Seata +Nacos 分散式框架

GitDmo地址:Git

介紹

1.一個基礎分散式框架 And 分散式事務統一解決方案 組合 Nacos阿里中介軟體。
2.@Transactional 不滿足分散式事務 例如:多個DB某個服務出現異常需要回滾資料 顯然不滿足。
3.Seata微服務事務、確保資料一致性。介紹就不多囉嗦了 官網都有:https://seata.io/zh-cn/
4.本篇內容避坑指南,SpringBoot+Dubbo2.7.3+Nacos1.2+seata1.1.0

軟體架構

1.dubbo-api 服務介面API
2.dubbo-common 專案公用元件
3.dubbo-service-account 賬戶服務Service --用於測試事務
4.dubbo-service-business 客戶端請求到達Service處理
5.dubbo-service-order 訂單服務Service --用於測試事務
6.dubbo-service-storage 庫存服務Service --用於測試事務
7.dubbo-core 服務消費端 請求接收這裡開始

前置工作

1.由於Seata1.1.0 官方GitHub下載慢,傳送門到百度網盤:連結: https://pan.baidu.com/s/1TfLl6xL1zz4K7Bbva7AVzA 提取碼: 5w6q
2.Nacos下載服務版本:https://nacos.io/zh-cn/
3.Naco下載原始碼版本:連結: https://pan.baidu.com/s/1r1mQ0d0guQQmxMJHfA3Zrg 提取碼: 4g96

安裝圖文

1.Nacos下載解壓 — 進入conf資料夾 —配置application.properties檔案
Nacos配置
配置完成訪問:127.0.0.1:8848:/nacos 使用者名稱:nacos 密碼:nacos

2.Seata配置有點繁瑣
2.1下載百度網盤 – 解壓—進入conf資料夾-- 配置file.conf、registry.conf
seata配置
seata配置

2.2下載Nacos原始碼版本 上面又Dowload地址  解壓---進入script\config-center 資料夾 ---配置config.txt ---配置內容:store.mode=db 
	注意service.vgroupMapping.XXXXX=default  XXX:自定義事務名稱  必須和專案中yml service.vgroupMapping.XXXXX 一致 否則找不到服務
	service.default.grouplist=127.0.0.1:8091  必須和專案中 yml  service.default.grouplist=127.0.0.1:8091  一致
	
2.3 配置好config.txt 進入當前nacos資料夾  cmd:sh nacos-config.sh 127.0.0.1:8848 

2.4 進入script\server\db  選擇自己資料庫 匯入表


完成以上步驟 Nacos 配置頁面會多66個配置、服務頁面 會又一個serverAdd 遠端服務
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020032620584837.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1OGxpYW5n,size_16,color_FFFFFF,t_70)

配置成功2

避坑指南

1.以上配置完後,在啟動服務後 出現 no available service null 解決專案中yml配置vgroupMapping.xxx必須在config.txt中出現並且在nacos配置中
2.記得導表
3.配置好config.txt 必須執行名稱匯入nacos配置

提交規範

feat:		新功能(feature)
fix:		修補bug
docs:		文件(documentation)
style: 	格式(不影響程式碼執行的變動)
refactor:	重構(即不是新增功能,也不是修改bug的程式碼變動)
test:		增加測試
chore:		構建過程或輔助工具的變動

相關文章