Click here to load reader

Александр Казаков

  • View
    269

  • Download
    0

Embed Size (px)

Text of Александр Казаков

  • -

  • 2000 ,

  • balancer

  • service discovery

    service discovery

  • timeout = 30

  • balancertimeout = 30

  • . 1

    balancer = 30

    = 60

  • . 1

    balancer = 30

    = 60

  • . 1

    balancer = 30

    = 60

    timeout

  • . 2

    balancer = 30

    = 10

  • . 2

    balancer = 30 = 10

  • . 2

    balancer = 30

    = 10

  • . 2

    balancer = 30 = 10

  • . 2

    balancer = 30

    = 10

  • 30 ,

    12 !!!

    balancertimeout

  • service discovery. 1

    service discovery

    = 30

  • service discovery. 2

    service discovery

    = 10

  • service discovery. 2

    service discovery

    = 10

  • 30 ,

    12 !!!

    timeout

  • ?

  • WE HAVE A PROBLEM

    HOUSTON

  • 1. .

    2. .

    3. .

  • 1. .

    2. .

    3. .

  • balancer

    = 30

    = 30

    = 30 = 30

  • t0 T2/3T1/3T

    R1

    R2

    R3

  • t0 T2/3T1/3T

    R1

    R2

    R3

    timeout=T

  • t0 T2/3T1/3T

    R1

    R2

    R3

    OK

  • t0 T2/3T1/3T

    R1

    R2

    R3

    timeout=T

    timeout=2/3T

  • t0 T2/3T1/3T

    R1

    R2

    R3

    timeout=T

    timeout=2/3T

    timeout=1/3T

  • t0 T2/3T1/3T

    R1

    R2

    R3

    timeout=T

    timeout=2/3T

    timeout=1/3T

    OK

  • t0 30

    R1

    R2

    R3

    R4

    1 5 15

  • t0 T4

    R1

    R2

    R3

    R4

    T1 T2 T3

  • 1. .

    2. .

    3. .

  • B

  • B D

    C

    E

    T1

    T2

    T3

  • B D

    C

    E

    T0

    T1

    T2

    T3

  • B

    B

    B

    C

    C

    C

  • B

    B

    B

    C

    C

    C

    10

    30

  • B

    B

    B

    C

    C

    C

  • B

    B

    B

    C

    C

    C

    10

    30

  • B

    B

    B

    C

    C

    C

  • B

    B

    B

    C

    C

    C

  • B

    B

    B

    C

    C

    C

    10

    10

    5

  • Bt0

    B

    B

    t1

    t2

  • TimeBudget timeBudget = request.GetTimeBudget();

    await client.Call(timeBudget.Remaining()); // 10 sec

    . . .

    await client.Call(timeBudget.Remaining()); // 5 sec

  • 1. .

    2. .

    3. .

  • B

    B

    B

    C

    C

    C

    10

    10

    5

  • high availabilitylow latency

  • B

    B

    B

    C

    C

    C

    10 10

  • BAD NEWS EVERYONE

  • :

  • :

    +

  • :

    +

    + heart beat

  • :

    +

    + heart beat

  • health = 1

    health = 1

    health = 1

    health [0.001, 1]

  • health = 0.03

    health = 1

    health = 1

    health [0.001, 1]

  • health = 0.7

    health = 1

    health = 1

    health [0.001, 1]

  • 1. .

    2. .

    3. . .

  • @a_kazakov

    !

    [email protected]

    -

    mailto:[email protected]