website: intro add basic architecture
This commit is contained in:
parent
8042343b04
commit
6f8a46c819
|
@ -37,6 +37,35 @@ key features:
|
|||
means users of Consul do not have to worry about building additional layers of
|
||||
abstraction to grow to multiple regions.
|
||||
|
||||
## Basic Architecture of Consul
|
||||
|
||||
Consul is a distributed, highly available system. There is an
|
||||
[in-depth architecture overview](/docs/internals/architecture.html) available,
|
||||
but this section will cover the basics so you can get an understanding
|
||||
of how Consul works. This section will purposely omit details to quickly
|
||||
provide an overview the architecture.
|
||||
|
||||
Every node that provides services to Consul runs a _Consul agent_. Running
|
||||
an agent is not required for discovering other services or getting/setting
|
||||
key/value data. The agent is responsible for health checking the services
|
||||
on the node as well as the node itself.
|
||||
|
||||
The agents talk to one or more _Consul servers_. The Consul servers are
|
||||
where data is stored and replicated. The servers themselves elect a leader.
|
||||
While Consul can function with one server, 3 to 5 is recommended to avoid
|
||||
data loss scenarios. A cluster of Consul servers is recommended for each
|
||||
datacenter.
|
||||
|
||||
Components of your infrastructure that need to discover other services
|
||||
or nodes can query any of the Consul servers _or_ any of the Consul agents.
|
||||
The agents forward queries to the servers automatically.
|
||||
|
||||
Each datacenter runs a cluster of Consul servers. When a cross-datacenter
|
||||
service discovery or configuration request is made, the local Consul servers
|
||||
forward the request to the remote datacenter and return the result.
|
||||
|
||||
## Next Steps
|
||||
|
||||
See the page on [how Consul compares to other software](/intro/vs/index.html)
|
||||
to see just how it fits into your existing infrastructure. Or continue onwards with
|
||||
the [getting started guide](/intro/getting-started/install.html) to get
|
||||
|
|
Loading…
Reference in New Issue