website: intro add basic architecture

This commit is contained in:
Mitchell Hashimoto 2014-04-14 12:09:32 -07:00
parent be032dad7b
commit cfb4f891a8
1 changed files with 29 additions and 0 deletions

View File

@ -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