@@ -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
281281Car-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