mirror of https://github.com/hashicorp/consul
37 lines
925 B
Plaintext
37 lines
925 B
Plaintext
graph TD
|
|
|
|
subgraph ClientAgent[Client Agent]
|
|
HTTPEndpoint
|
|
DNSEndpoint
|
|
rpcClient.Health
|
|
AgentCache
|
|
MaterializedView
|
|
end
|
|
|
|
subgraph ServerAgent[Server Agent]
|
|
RPCEndpoint
|
|
raft.Apply
|
|
FSM.applyRegistration
|
|
state.Store.Register
|
|
SubscribeEndpoint
|
|
EventPublisher
|
|
end
|
|
|
|
Read --> HTTPEndpoint & DNSEndpoint
|
|
|
|
HTTPEndpoint & DNSEndpoint --> rpcClient.Health
|
|
rpcClient.Health --> AgentCache
|
|
AgentCache --> MaterializedView
|
|
MaterializedView --> SubscribeEndpoint
|
|
SubscribeEndpoint -->|Subscribe to topic| EventPublisher
|
|
|
|
Write --> RPCEndpoint
|
|
RPCEndpoint --> raft.Apply
|
|
raft.Apply --> FSM.applyRegistration
|
|
FSM.applyRegistration --> state.Store.Register
|
|
state.Store.Register -->|Publish event| EventPublisher
|
|
|
|
class Read,Write start
|
|
classDef start fill:transparent,stroke:transparent
|
|
|