SpringBoot+Dubbo+Serata+Nacos微服務搭建
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檔案
配置完成訪問:127.0.0.1:8848:/nacos 使用者名稱:nacos 密碼:nacos
2.Seata配置有點繁瑣
2.1下載百度網盤 – 解壓—進入conf資料夾-- 配置file.conf、registry.conf
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)
避坑指南
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: 構建過程或輔助工具的變動
相關文章
- 搭建微服務微服務
- 三、微服務環境搭建微服務
- 使用jhipster搭建微服務微服務
- SpringCloudAlibaba 微服務講解(二)微服務環境搭建SpringGCCloud微服務
- ABP微服務系列學習-搭建自己的微服務結構(一)微服務
- ABP微服務系列學習-搭建自己的微服務結構(三)微服務
- 微服務呼叫鏈追蹤中心搭建微服務
- .Net Core 3.1簡單搭建微服務微服務
- 微服務Consul系列之服務部署、搭建、使用微服務
- 微服務Consul系列之叢集搭建微服務
- 二. SpringCloud基本Rest微服務工程搭建SpringGCCloudREST微服務
- 快速搭建微服務架構的關鍵微服務架構
- Spring Cloud微服務(一):公共模組的搭建SpringCloud微服務
- SpringCloud微服務專案搭建與部署教程SpringGCCloud微服務
- 在Ubuntu下搭建微服務開發環境Ubuntu微服務開發環境
- 微服務專案搭建之技術選型微服務
- 微服務中如何搭建一個高可用的地圖服務微服務地圖
- 微服務整合Spring Cloud Alibaba Seata(一)Seata服務搭建微服務SpringCloud
- 如何快速搭建微服務開發測試環境微服務
- 基於 EKS Fargate 搭建微服務效能分析系統微服務
- day03-搭建微服務基礎環境02微服務
- 微服務2:微服務全景架構微服務架構
- 微服務03 微服務sentinel, springcloudgateway微服務SpringGCCloudGateway
- 使用 go micro 搭建微服務介面的經驗教訓Go微服務
- java微服務 k8s生產環境搭建Java微服務K8S
- 十一、Docker搭建部署SpringCloud微服務專案DemoDockerSpringGCCloud微服務
- SpringBoot整合gRPC微服務工程搭建實踐Spring BootRPC微服務
- 微服務微服務
- 微服務1:微服務及其演進史微服務
- SpringCloud微服務實戰——搭建企業級開發框架(九):使用Nacos發現、配置和管理微服務SpringGCCloud微服務框架
- SpringCloud微服務實戰——搭建企業級開發框架(十一):整合OpenFeign用於微服務間呼叫SpringGCCloud微服務框架
- .Net Core微服務入門全紀錄(一)——專案搭建微服務
- 《springcloud 二》SrpingCloud Zuul 微服務閘道器搭建SpringGCCloudZuul微服務
- 如何快速搭建一個 “簡單模式” 的微服務架構模式微服務架構
- 如何用Nginx快速搭建一個安全的微服務架構Nginx微服務架構
- 【Lolttery】專案開發日誌 (一) 微服務框架搭建微服務框架
- SpringCloud微服務實戰——搭建企業級開發框架(十九):Gateway使用knife4j聚合微服務文件SpringGCCloud微服務框架Gateway
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務