Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
925 B

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