spring-cloud-fescar
spring cloud集成fescar的demo工程
準備工作
- 閱讀官方文檔Quick Start,併成功啓動fescar-server
- 初始化demo數據庫
- 工程路徑下fescar_demo.sql文件
測試效果
- 修改demo工程中的配置文件
- account-service:用戶賬戶服務,僅提供用戶賬戶的扣減接口,端口:11111
- business-service:上層業務服務,提供下單接口,端口:11112
- order-service:訂單服務,僅提供訂單創建接口,端口:11113
- storage-service:庫存服務,僅提供庫存扣減接口,端口:11114
將這四個服務的bootstrap.yml配置文件中的dataSource修改爲本機測試用的dataSource
ps.真實分佈式場景會是四個不同的數據源,這裏在四個工程下使用同一數據源,也能模擬四個不同數據源的效果,另外,需要注意端口占用問題。
(如果出現jar包報紅,記得先將spring-cloud-fescar-config工程打包進本地倉庫)
- 分別啓動四個工程
- 開始測試
- 使用postman或其他測試工具發起http調用:執行下單操作
默認環境下:
url: http://localhost:11112/business
method: PUT
header: contentType = application/json
requestBody:
{
“userId”:“U100001”,
“commodityCode”:“C00321”,
“orderCount”:2
}
- 程序設計效果
- 在每個服務調用時均有1/10的概率會調用失敗
- 當庫存不足或用戶餘額不足時會報業務異常
- 期望效果
- 程序正常執行,請求成功,響應碼200,查看數據庫,各個表的數據一致
- 程序執行失敗,請求失敗,響應碼500,查看數據庫,各個表的數據一致