| Class | Description |
|---|---|
| PassingTimeStrategy |
based on time synchronization
any time to calculate timeout: now - start time of invocation chain
consumer: c
producer: p
---------------------------------------------------------------
| process 2 |
| c-send(T5) c-send(T8) |
| ↑ ↑ |
| p-start(T3) → c-start(T4) → p-operation(T6) → c-start(T7)|
-----↑--------------------------------------------------------
↑
-----↑-----------------
| ↑ process 1 |
| c-send(T2) |
| ↑ |
| c-start(T1) |
------------------------
T2 timeout: T2 - T1
T3 timeout: T3 - T1
T4 timeout: T4 - T1
......
|
| ProcessingTimeStrategy |
Cumulative Processing Time
not depend on time synchronization
but lost network and framework outside of servicecomb processing time
consumer: c
producer: p
---------------------------------------------------------------
| process 2 |
| c-send(T5) c-send(T8) |
| ↑ ↑ |
| p-start(T3) → c-start(T4) → p-operation(T6) → c-start(T7)|
-----↑--------------------------------------------------------
↑
-----↑-----------------
| ↑ process 1 |
| c-send(T2) |
| ↑ |
| c-start(T1) |
------------------------
T2 timeout: T2 - T1
T3 timeout: (T2 - T1) + (T3 - T3)
T4 timeout: (T2 - T1) + (T4 - T3)
T5 timeout: (T2 - T1) + (T5 - T3)
T6 timeout: (T2 - T1) + (T6 - T3)
T7 timeout: (T2 - T1) + (T7 - T3)
T8 timeout: (T2 - T1) + (T8 - T3)
......
|
Copyright © 2017–2022 The Apache Software Foundation. All rights reserved.