【分佈式事務】Spring Cloud集成fescar的示例demo

spring-cloud-fescar

spring cloud集成fescar的demo工程

準備工作

  1. 閱讀官方文檔Quick Start,併成功啓動fescar-server
  1. 初始化demo數據庫
  • 工程路徑下fescar_demo.sql文件

測試效果

  1. 修改demo工程中的配置文件
  • account-service:用戶賬戶服務,僅提供用戶賬戶的扣減接口,端口:11111
  • business-service:上層業務服務,提供下單接口,端口:11112
  • order-service:訂單服務,僅提供訂單創建接口,端口:11113
  • storage-service:庫存服務,僅提供庫存扣減接口,端口:11114

將這四個服務的bootstrap.yml配置文件中的dataSource修改爲本機測試用的dataSource

ps.真實分佈式場景會是四個不同的數據源,這裏在四個工程下使用同一數據源,也能模擬四個不同數據源的效果,另外,需要注意端口占用問題。

(如果出現jar包報紅,記得先將spring-cloud-fescar-config工程打包進本地倉庫)

  1. 分別啓動四個工程
  2. 開始測試
  • 使用postman或其他測試工具發起http調用:執行下單操作

默認環境下:

url: http://localhost:11112/business

method: PUT

header: contentType = application/json

requestBody:

{
“userId”:“U100001”,
“commodityCode”:“C00321”,
“orderCount”:2
}

  • 程序設計效果
  1. 在每個服務調用時均有1/10的概率會調用失敗
  2. 當庫存不足或用戶餘額不足時會報業務異常
  • 期望效果
  1. 程序正常執行,請求成功,響應碼200,查看數據庫,各個表的數據一致
  2. 程序執行失敗,請求失敗,響應碼500,查看數據庫,各個表的數據一致

demo工程地址傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章