@startuml
title 路由策略 - ROUND

participant a as "Admin" order 10
participant e1 as "Executor 1\n172.17.34.35:4200" order 20
participant e2 as "Executor 2\n172.17.34.36:4100" order 30
participant e3 as "Executor 3\n172.17.34.35:4100" order 40

== 注册监控 ==
note over a
    注册表信息
    Executor 3 -> 172.17.34.35:4100
    Executor 1 -> 172.17.34.35:4200
    Executor 2 -> 172.17.34.36:4100
end note

== 第1次调用 ==
a -> a : \
1. count = random(100) = 97\n\
2. index = count % size = 1
a -> e2 : 调用
a <-- e2 : 成功

== 第2次调用 ==
a -> a : \
1. ++count = 98\n\
2. index = count % size = 2
a -> e3 : 调用
a <-- e3 : 成功

== 第3次调用 ==
a -> a : \
1. ++count = 99\n\
2. index = count % size = 0
a -> e1 : 调用
a <-- e1 : 成功

== 重置计数，非严格ROUND ==
note over a
    时机
    1. Admin刚启动
    2. Executor第一次加入
    3. 计数 > 1,000,000
    4. 每隔24小时
end note
@enduml