client
graph TD
A[开始] --> B[解析命令行参数]
B --> C[注册配置到RouteTable]
C --> D[创建多个发送线程]
D --> E[发送线程执行]
E --> F{从RouteTable<br/>选择Leader}
F -->|失败| G[刷新Leader]
G --> F
F -->|成功| H[创建Channel到Leader]
H --> I[发送compare_exchange请求]
I --> J{请求是否成功?}
J -->|失败| K[检查是否需要重定向]
K --> F
J -->|成功| L[更新本地value值]
L --> M[记录延迟数据]
M --> N{是否需要打印日志?}
N -->|是| O[打印请求信息]
N -->|否| F
O --> F
P[主线程] --> Q[每秒打印QPS和延迟]
Q --> R{是否退出?}
R -->|否| Q
R -->|是| S[等待所有发送线程结束]
S --> T[结束]
No comments yet.