mirror of https://github.com/status-im/consul.git
168 lines
5.4 KiB
Plaintext
168 lines
5.4 KiB
Plaintext
<!-- Main jumbotron for a primary marketing message or call to action -->
|
|
<div id="jumbotron-mask">
|
|
<div id="jumbotron">
|
|
<div class="container">
|
|
<div class="col-lg-6 col-md-6">
|
|
<h2 class="rls-l">
|
|
Service discovery and configuration made easy.
|
|
Distributed, highly available, and
|
|
datacenter-aware.
|
|
</h2>
|
|
</div>
|
|
<div class="jumbo-logo-wrap col-lg-offset-1 col-lg-5 col-md-6 hidden-xs hidden-sm">
|
|
<div class="jumbo-logo"></div>
|
|
</div>
|
|
<!-- <p><a class="btn btn-primary btn-lg">Learn more »</a></p> -->
|
|
</div>
|
|
<div class="jumbotron-dots"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="features">
|
|
<div class="container">
|
|
<div class="row double-row">
|
|
<div class="col-lg-6 col-md-6">
|
|
<div class="row">
|
|
<div class="col-lg-5 col-md-5">
|
|
<span class="icn discovery"></span>
|
|
</div>
|
|
<div class="col-lg-7 col-md-7">
|
|
<h2>Service Discovery</h2>
|
|
<p>Consul makes it simple for services to register themselves, and to discover other services via a DNS or HTTP interface.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6">
|
|
<div class="row">
|
|
<div class="col-lg-5 col-md-5">
|
|
<span class="icn health"></span>
|
|
</div>
|
|
<div class="col-lg-7 col-md-7">
|
|
<h2>Failure Detection</h2>
|
|
<p>Pairing service discovery with health checking prevents routing requests to unhealthy hosts, and enables services to easily provide circuit breakers.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row double-row">
|
|
<div class="col-lg-6 col-md-6">
|
|
<div class="row">
|
|
<div class="col-lg-5 col-md-5">
|
|
<span class="icn multi"></span>
|
|
</div>
|
|
<div class="col-lg-7 col-md-7">
|
|
<h2>Multi Datacenter</h2>
|
|
<p>Consul scales to multiple datacenters out of the box, with no complicated configuration.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6">
|
|
<div class="row">
|
|
<div class="col-lg-5 col-md-5">
|
|
<span class="icn config"></span>
|
|
</div>
|
|
<div class="col-lg-7 col-md-7">
|
|
<h2>Shared Configuration</h2>
|
|
<p>Store hierarchical key/value configuration data for services and get notified when any of these values change.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div> <!-- /container -->
|
|
</div> <!-- /features -->
|
|
|
|
<div id="demos">
|
|
<div class="container">
|
|
<div class="terminals row">
|
|
|
|
<div class="col-xs-12 col-lg-12 explantion">
|
|
<h2>DNS Query Interface</h2>
|
|
<p>
|
|
Look up services using Consul's built-in DNS server. This
|
|
avoids the need for a Consul-specific client in any of your
|
|
services.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="terminal-item col-xs-12 col-lg-12">
|
|
<div class="terminal">
|
|
<header>
|
|
<h4>Terminal</h4>
|
|
<ul class='shell-dots'>
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
</ul>
|
|
</header>
|
|
<div class="terminal-window">
|
|
<div class="terminal">
|
|
<div class="display">
|
|
<p class="command"><span class="txt-r">admin@hashicorp</span>: dig web-frontend.service.consul. ANY</p>
|
|
<p>; <<>> DiG 9.8.3-P1 <<>> web-frontend.service.consul. ANY</p>
|
|
<p>;; global options: +cmd</p>
|
|
<p> </p>
|
|
<p>;; Got answer:</p>
|
|
<p>;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29981</p>
|
|
<p>;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0</p>
|
|
<p> </p>
|
|
<p>;; QUESTION SECTION:</p>
|
|
<p>;web-frontend.service.consul. IN ANY</p>
|
|
<p> </p>
|
|
<p>;; ANSWER SECTION:</p>
|
|
<p>web-frontend.service.consul. 0 IN A <span class="txt-p">10.0.3.83</span></p>
|
|
<p>web-frontend.service.consul. 0 IN A <span class="txt-p">10.0.1.109</span></p>
|
|
<p class="command"><span class="txt-r">admin@hashicorp</span>: <span class="cursor"> </span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- /.terminal-item -->
|
|
|
|
<div class="col-xs-12 col-lg-12 explantion">
|
|
<h2>Key Value Storage</h2>
|
|
<p>
|
|
Consul provides a flexible, hierarchical key/value store accessible
|
|
via a simple HTTP API. This data is replicated across multiple
|
|
servers and is highly available. Other HTTP APIs let you long poll
|
|
for changes to a key.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="terminal-item col-xs-12 col-lg-12">
|
|
<div class="terminal">
|
|
<header>
|
|
<h4>Terminal</h4>
|
|
<ul class='shell-dots'>
|
|
<li></li>
|
|
<li></li>
|
|
<li></li>
|
|
</ul>
|
|
</header>
|
|
<div class="terminal-window">
|
|
<div class="terminal">
|
|
<div class="display">
|
|
<p class="command"><span class="txt-r">admin@hashicorp</span>: curl -X PUT -d 'bar' http://localhost:8500/v1/kv/foo</p>
|
|
<p>true</p>
|
|
<p class="command"><span class="txt-r">admin@hashicorp</span>: curl http://localhost:8500/v1/kv/foo</p>
|
|
<p>[</p>
|
|
<p> {</p>
|
|
<p> "CreateIndex": 100,</p>
|
|
<p> "ModifyIndex": 200,</p>
|
|
<p> "Key": "foo",</p>
|
|
<p> "Flags": 0,</p>
|
|
<p> "Value": <span class="txt-p">"aGVsbG8gd29ybGQK=="</span></p>
|
|
<p> }</p>
|
|
<p>]</p>
|
|
<p class="command"><span class="txt-r">admin@hashicorp</span>: <span class="cursor"> </span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- /.terminal-item -->
|
|
</div>
|
|
</div>
|
|
</div><!-- /#demos -->
|
|
|