Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Commit 4086cf1

Browse files
committed
refactor picture name
1 parent 15651a1 commit 4086cf1

File tree

6 files changed

+28
-6
lines changed

6 files changed

+28
-6
lines changed

README.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ Omega.Sample.Car -> CarBookingService:
174174

175175
那么再来看看数据是否和我们预期感觉一样讷,相信聪明的小伙伴应该知道套路是什么了:
176176

177-
![TIM图片20180827220009.png](imgs/TIM图片20180827220009.png)
177+
![CarAbortDatabase.png](imgs/CarAbortDatabase.png)
178178

179179
关于 car-service 的红框状态描述相信大家就很清楚了,历经了开始->中止->结束,最后整个 Booking 方式完成
180180

@@ -280,11 +280,11 @@ Omega.Sample.Hotel -> HotelBookingService:
280280

281281
Car-Service 补偿方法触发执行命中断点如下图:
282282

283-
![TIM图片20180827222559.png](imgs/TIM图片20180827222559.png)
283+
![DebugPicture.png](imgs/DebugPicture.png)
284284

285285
数据库事务链条状态图(聪明的你观察到了那个补偿事件的记录了讷):
286286

287-
![TIM图片20180827222705.png](imgs/TIM图片20180827222705.png)
287+
![HotleAbort-Scenario.png](imgs/HotleAbort-Scenario.png)
288288

289289
#### 测试Booking-Service 最后调用异常
290290

@@ -310,15 +310,37 @@ Car-Service 补偿方法触发执行命中断点如下图:
310310

311311
> 关于 Command 表大致用来存储需要补偿的命令的,相应的alpha-server有定时服务在刷这个表,一直补偿成功为止,来保证最终的分布式事务的一致性
312312
313-
![TIM图片20180827223755.png](imgs/TIM图片20180827223755.png)
313+
![CarAndCompensate.png](imgs/CarAndCompensate.png)
314314

315315
> 相信你已经注意到了我们的两个预定服务都触发了补偿逻辑(红框所示)
316316
317-
![TIM图片20180827223717.png](imgs/TIM图片20180827223717.png)
317+
![BookingAbortDatabase.png](imgs/BookingAbortDatabase.png)
318318

319319
#### 如何在服务超时情况维持分布式事务测试
320320

321-
未完待续...
321+
```csharp
322+
[HttpGet, SagaStart(TimeOut = 3)]
323+
[Route("book3")]
324+
public ActionResult Book3()
325+
{
326+
// init basic httpclient
327+
var httpClient = new HttpClient();
328+
// mark a reservation of car , this will be throw a exception from car-service
329+
httpClient.GetAsync("http://localhost:5002/api/values").Wait();
330+
// book a hotel
331+
httpClient.GetAsync("http://localhost:5003/api/values").Wait();
332+
Thread.Sleep(5000);
333+
return Ok("ok");
334+
}
335+
```
336+
337+
> 事件表详情
338+
![timeoutdatabase-txEvent.png](imgs/timeoutdatabase-txEvent.png)
339+
> 超时表详情
340+
![timeoutdatabase-txEvent.png](imgs/timeoutdatabase-TxTime.png)
341+
> 补偿表详情
342+
![timeoutdatabase-txCompenste.png](imgs/timeoutdatabase-txCompenste.png)
343+
322344

323345

324346

0 commit comments

Comments
 (0)