如图所示,右半部分无法显示。该图在 plantuml oneline server 正常。
@startuml PD Leader Internal Flow (Fixed) !theme plain title PD Leader Internal Core Flow (Simplified) start partition "Request Ingestion" { :Receive gRPC/HTTP Request; :Dispatch Request based on Type; } if (Request is Heartbeat?) then (Heartbeat) partition "Heartbeat Processing" { :Update Statistics (pkg/statistics); :Update In-Memory Cluster State (pkg/core); note right: Trigger scheduling check -->[Trigger] CheckSchedulingNeeded; } partition "Scheduling Cycle" { :CheckSchedulingNeeded; if (Scheduling Needed? by Checkers) then (yes) :Select Scheduler(s); :Generate Operator(s) (pkg/schedule/operator); :Add Operator(s) to Controller Queue; note right: Operator will be included\nin Heartbeat Response else (no) :No Operator Generated; endif --> PrepareHeartbeatResponse; } partition "Response Sending" { :PrepareHeartbeatResponse; :Send Heartbeat Response (to TiKV); --> (*) EndHeartbeatFlow; } elseif (Request is TSO?) then (TSO) partition "TSO Allocation" { :Allocate TSO Batch (pkg/tso); fork :Prepare TSO Response; --> SendTSOResponse; fork again :Persist Max Allocated TSO to Etcd (Async); end fork } partition "Response Sending" { :SendTSOResponse; :Send TSO Response (to TiKV/TiDB); --> (*) EndTSOFlow; } else (Metadata/API) partition "Metadata & Other API Service" { :Handle API Request Logic (e.g., Get Status, Update Config); :Access Storage Layer (pkg/storage); note left: Interacts with Etcd :Prepare API Response; --> SendAPIResponse; } partition "Response Sending" { :SendAPIResponse; :Send API Response (to TiDB/pd-ctl/Dashboard); --> (*) EndAPIFlow; } endif ' Define common stop points (using explicit labels before stop) :EndHeartbeatFlow; stop :EndTSOFlow; stop :EndAPIFlow; stop @enduml
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于