graph TB requestLeader[request] --> RPCLeader requestFollower[request] --> RPCFollower class requestLeader,requestFollower req; classDef req fill:transparent,color:#000,stroke-width:1; subgraph Leader RPCLeader[RPC] RaftLeader[Raft] StateStoreLeader[State Store] FSMLeader[FSM] end RPCLeader -->|write| RaftLeader RPCLeader -->|read| StateStoreLeader RaftLeader ---> FSMLeader FSMLeader --> StateStoreLeader subgraph Follower RPCFollower[RPC] RaftFollower[Raft] StateStoreFollower[State Store] FSMFollower[FSM] end RaftLeader <-.->|consensus and replication| RaftFollower RPCFollower -->|forward write to leader| RPCLeader RPCFollower -->|read| StateStoreFollower RaftFollower --> FSMFollower FSMFollower --> StateStoreFollower