<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>v3.1 docs on etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/</link><description>Recent content in v3.1 docs on etcd</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/index.xml" rel="self" type="application/rss+xml"/><item><title>Data model</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/data_model/</guid><description>&lt;p&gt;etcd is designed to reliably store infrequently updated data and provide reliable watch queries. etcd exposes previous versions of key-value pairs to support inexpensive snapshots and watch history events (“time travel queries”). A persistent, multi-version, concurrency-control data model is a good fit for these use cases.&lt;/p&gt;
&lt;p&gt;etcd stores data in a multiversion &lt;a href="https://en.wikipedia.org/wiki/Persistent_data_structure" target="_blank" rel="noopener"&gt;persistent&lt;/a&gt; key-value store. The persistent key-value store preserves the previous version of a key-value pair when its value is superseded with new data. The key-value store is effectively immutable; its operations do not update the structure in-place, but instead always generates a new updated structure. All past versions of keys are still accessible and watchable after modification. To prevent the data store from growing indefinitely over time from maintaining old versions, the store may be compacted to shed the oldest versions of superseded data.&lt;/p&gt;</description></item><item><title>Demo</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/demo/</guid><description>&lt;p&gt;This series of examples shows the basic procedures for working with an etcd cluster.&lt;/p&gt;
&lt;h2 id="set-up-a-cluster"&gt;Set up a cluster&lt;/h2&gt;
&lt;img src="https://storage.googleapis.com/etcd/demo/01_etcd_clustering_2016051001.gif" alt="01_etcd_clustering_2016050601"/&gt;
&lt;p&gt;On each etcd node, specify the cluster members:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;TOKEN=token-01
CLUSTER_STATE=new
NAME_1=machine-1
NAME_2=machine-2
NAME_3=machine-3
HOST_1=10.240.0.17
HOST_2=10.240.0.18
HOST_3=10.240.0.19
CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Run this on each machine:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# For machine 1
THIS_NAME=${NAME_1}
THIS_IP=${HOST_1}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

# For machine 2
THIS_NAME=${NAME_2}
THIS_IP=${HOST_2}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

# For machine 3
THIS_NAME=${NAME_3}
THIS_IP=${HOST_3}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or use our public discovery service:&lt;/p&gt;</description></item><item><title>etcd3 API</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/api/</guid><description>&lt;p&gt;NOTE: this doc is not finished!&lt;/p&gt;
&lt;h2 id="response-header"&gt;Response header&lt;/h2&gt;
&lt;p&gt;All Responses from etcd API have a &lt;a href="https://github.com/etcd-io/etcd/blob/v3.1.20/etcdserver/etcdserverpb/rpc.proto" target="_blank" rel="noopener"&gt;response header&lt;/a&gt; attached. The response header includes the metadata of the response.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-proto" data-lang="proto"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;message&lt;/span&gt; &lt;span style="color:#000"&gt;ResponseHeader&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;uint64&lt;/span&gt; &lt;span style="color:#000"&gt;cluster_id&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;;&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;uint64&lt;/span&gt; &lt;span style="color:#000"&gt;member_id&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;2&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;;&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;int64&lt;/span&gt; &lt;span style="color:#000"&gt;revision&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;;&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;uint64&lt;/span&gt; &lt;span style="color:#000"&gt;raft_term&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;4&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;;&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Cluster_ID - the ID of the cluster that generates the response&lt;/li&gt;
&lt;li&gt;Member_ID - the ID of the member that generates the response&lt;/li&gt;
&lt;li&gt;Revision - the revision of the key-value store when the response is generated&lt;/li&gt;
&lt;li&gt;Raft_Term - the Raft term of the member when the response is generated&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An application may read the Cluster_ID (Member_ID) field to ensure it is communicating with the intended cluster (member).&lt;/p&gt;</description></item><item><title>Frequently Asked Questions (FAQ)</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/faq/</guid><description>&lt;h3 id="etcd-general"&gt;etcd, general&lt;/h3&gt;
&lt;h4 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Do clients have to send requests to the etcd leader?&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf" target="_blank" rel="noopener"&gt;Raft&lt;/a&gt; is leader-based; the leader handles all client requests which need cluster consensus. However, the client does not need to know which node is the leader. Any request that requires consensus sent to a follower is automatically forwarded to the leader. Requests that do not require consensus (e.g., serialized reads) can be processed by any cluster member.&lt;/p&gt;
&lt;h3 id="configuration"&gt;Configuration&lt;/h3&gt;
&lt;h4 id="what-is-the-difference-between-advertise-urls-and-listen-urls"&gt;What is the difference between advertise-urls and listen-urls?&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;listen-urls&lt;/code&gt; specifies the local addresses etcd server binds to for accepting incoming connections. To listen on a port for all interfaces, specify &lt;code&gt;0.0.0.0&lt;/code&gt; as the listen IP address.&lt;/p&gt;</description></item><item><title>Glossary</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/glossary/</guid><description>&lt;p&gt;This document defines the various terms used in etcd documentation, command line and source code.&lt;/p&gt;
&lt;h2 id="alarm"&gt;Alarm&lt;/h2&gt;
&lt;p&gt;The etcd server raises an alarm whenever the cluster needs operator intervention to remain reliable.&lt;/p&gt;
&lt;h2 id="authentication"&gt;Authentication&lt;/h2&gt;
&lt;p&gt;Authentication manages user access permissions for etcd resources.&lt;/p&gt;
&lt;h2 id="client"&gt;Client&lt;/h2&gt;
&lt;p&gt;A client connects to the etcd cluster to issue service requests such as fetching key-value pairs, writing data, or watching for updates.&lt;/p&gt;
&lt;h2 id="cluster"&gt;Cluster&lt;/h2&gt;
&lt;p&gt;Cluster consists of several members.&lt;/p&gt;
&lt;p&gt;The node in each member follows raft consensus protocol to replicate logs. Cluster receives proposals from members, commits them and apply to local store.&lt;/p&gt;</description></item><item><title>Install</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/install/</guid><description>&lt;h2 id="system-requirements"&gt;System requirements&lt;/h2&gt;
&lt;p&gt;The etcd performance benchmarks run etcd on 8 vCPU, 16GB RAM, 50GB SSD GCE instances, but any relatively modern machine with low latency storage and a few gigabytes of memory should suffice for most use cases. Applications with large v2 data stores will require more memory than a large v3 data store since data is kept in anonymous memory instead of memory mapped from a file. than For running etcd on a cloud provider, we suggest at least a medium instance on AWS or a standard-1 instance on GCE.&lt;/p&gt;</description></item><item><title>KV API guarantees</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/api_guarantees/</guid><description>&lt;p&gt;etcd is a consistent and durable key value store with mini-transaction(TODO: link to txn doc when we have it) support. The key value store is exposed through the KV APIs. etcd tries to ensure the strongest consistency and durability guarantees for a distributed system. This specification enumerates the KV API guarantees made by etcd.&lt;/p&gt;
&lt;h3 id="apis-to-consider"&gt;APIs to consider&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Read APIs
&lt;ul&gt;
&lt;li&gt;range&lt;/li&gt;
&lt;li&gt;watch&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Write APIs
&lt;ul&gt;
&lt;li&gt;put&lt;/li&gt;
&lt;li&gt;delete&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Combination (read-modify-write) APIs
&lt;ul&gt;
&lt;li&gt;txn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="etcd-specific-definitions"&gt;etcd specific definitions&lt;/h3&gt;
&lt;h4 id="operation-completed"&gt;Operation completed&lt;/h4&gt;
&lt;p&gt;An etcd operation is considered complete when it is committed through consensus, and therefore “executed” -- permanently stored -- by the etcd storage engine. The client knows an operation is completed when it receives a response from the etcd server. Note that the client may be uncertain about the status of an operation if it times out, or there is a network disruption between the client and the etcd member. etcd may also abort operations when there is a leader election. etcd does not send &lt;code&gt;abort&lt;/code&gt; responses to clients’ outstanding requests in this event.&lt;/p&gt;</description></item><item><title>Libraries and tools</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/libraries-and-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/libraries-and-tools/</guid><description>&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/v3.1.20/etcdctl" target="_blank" rel="noopener"&gt;etcdctl&lt;/a&gt; - A command line client for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041300/https://github.com/fanhattan/etcd-backup" target="_blank" rel="noopener"&gt;etcd-backup&lt;/a&gt; - A powerful command line utility for dumping/restoring etcd - Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump" target="_blank" rel="noopener"&gt;etcd-dump&lt;/a&gt; - Command line utility for dumping/restoring etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs" target="_blank" rel="noopener"&gt;etcd-fs&lt;/a&gt; - FUSE filesystem for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir" target="_blank" rel="noopener"&gt;etcddir&lt;/a&gt; - Realtime sync etcd and local directory. Work with windows and linux.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser" target="_blank" rel="noopener"&gt;etcd-browser&lt;/a&gt; - A web-based key/value editor for etcd using AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock" target="_blank" rel="noopener"&gt;etcd-lock&lt;/a&gt; - Master election &amp;amp; distributed r/w lock implementation using etcd - Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console" target="_blank" rel="noopener"&gt;etcd-console&lt;/a&gt; - A web-base key/value editor for etcd using PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer" target="_blank" rel="noopener"&gt;etcd-viewer&lt;/a&gt; - An etcd key-value store editor/viewer written in Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool" target="_blank" rel="noopener"&gt;etcdtool&lt;/a&gt; - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041300/https://github.com/mickep76/etcdrest" target="_blank" rel="noopener"&gt;etcd-rest&lt;/a&gt; - Create generic REST API in Go using etcd as a backend with validation using JSON schema&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041250/https://github.com/kamilhark/etcdsh" target="_blank" rel="noopener"&gt;etcdsh&lt;/a&gt; - A command line client with support of command history and tab completion. Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest" target="_blank" rel="noopener"&gt;etcdloadtest&lt;/a&gt; - A command line load test client for etcd version 3.0 and above.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Go libraries&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Metrics</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/metrics/</guid><description>&lt;p&gt;etcd uses &lt;a href="http://prometheus.io/" target="_blank" rel="noopener"&gt;Prometheus&lt;/a&gt; for metrics reporting. The metrics can be used for real-time monitoring and debugging. etcd does not persist its metrics; if a member restarts, the metrics will be reset.&lt;/p&gt;
&lt;p&gt;The simplest way to see the available metrics is to cURL the metrics endpoint &lt;code&gt;/metrics&lt;/code&gt;. The format is described &lt;a href="http://prometheus.io/docs/instrumenting/exposition_formats/" target="_blank" rel="noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Follow the &lt;a href="http://prometheus.io/docs/introduction/getting_started/" target="_blank" rel="noopener"&gt;Prometheus getting started doc&lt;/a&gt; to spin up a Prometheus server to collect etcd metrics.&lt;/p&gt;
&lt;p&gt;The naming of metrics follows the suggested &lt;a href="http://prometheus.io/docs/practices/naming/" target="_blank" rel="noopener"&gt;Prometheus best practices&lt;/a&gt;. A metric name has an &lt;code&gt;etcd&lt;/code&gt; or &lt;code&gt;etcd_debugging&lt;/code&gt; prefix as its namespace and a subsystem prefix (for example &lt;code&gt;wal&lt;/code&gt; and &lt;code&gt;etcdserver&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Production users</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/production-users/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/production-users/</guid><description>&lt;p&gt;This document tracks people and use cases for etcd in production. By creating a list of production use cases we hope to build a community of advisors that we can reach out to with experience using various etcd applications, operation environments, and cluster sizes. The etcd development team may reach out periodically to check-in on how etcd is working in the field and update this list.&lt;/p&gt;
&lt;h2 id="discoveryetcdio"&gt;discovery.etcd.io&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Application&lt;/em&gt;: &lt;a href="https://github.com/etcd-io/discovery.etcd.io" target="_blank" rel="noopener"&gt;https://github.com/etcd-io/discovery.etcd.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Launched&lt;/em&gt;: Feb. 2014&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Cluster Size&lt;/em&gt;: 5 members, 5 discovery proxies&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Order of Data Size&lt;/em&gt;: 100s of Megabytes&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Operator&lt;/em&gt;: CoreOS, &lt;a href="mailto:brandon.philips@coreos.com"&gt;brandon.philips@coreos.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Environment&lt;/em&gt;: AWS&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Backups&lt;/em&gt;: Periodic async to S3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;discovery.etcd.io is the longest continuously running etcd backed service that we know about. It is the basis of automatic cluster bootstrap and was launched in Feb. 2014: &lt;a href="https://coreos.com/blog/etcd-0.3.0-released/" target="_blank" rel="noopener"&gt;https://coreos.com/blog/etcd-0.3.0-released/&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Reporting bugs</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/reporting_bugs/</guid><description>&lt;p&gt;If any part of the etcd project has bugs or documentation mistakes, please let us know by &lt;a href="https://github.com/etcd-io/etcd/issues/new" target="_blank" rel="noopener"&gt;opening an issue&lt;/a&gt;. We treat bugs and mistakes very seriously and believe no issue is too small. Before creating a bug report, please check that an issue reporting the same problem does not already exist.&lt;/p&gt;
&lt;p&gt;To make the bug report accurate and easy to understand, please try to create bug reports that are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Specific. Include as much details as possible: which version, what environment, what configuration, etc. If the bug is related to running the etcd server, please attach the etcd log (the starting log with etcd configuration is especially important).&lt;/p&gt;</description></item><item><title>Tuning</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/tuning/</guid><description>&lt;p&gt;The default settings in etcd should work well for installations on a local network where the average network latency is low. However, when using etcd across multiple data centers or over networks with high latency, the heartbeat interval and election timeout settings may need tuning.&lt;/p&gt;
&lt;p&gt;The network isn&amp;rsquo;t the only source of latency. Each request and response may be impacted by slow disks on both the leader and follower. Each of these timeouts represents the total time from request to successful response from the other machine.&lt;/p&gt;</description></item><item><title>Why etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.1/learning/why/</guid><description>&lt;p&gt;The name &amp;ldquo;etcd&amp;rdquo; originated from two ideas, the unix &amp;ldquo;/etc&amp;rdquo; folder and &amp;ldquo;d&amp;quot;istributed systems. The &amp;ldquo;/etc&amp;rdquo; folder is a place to store configuration data for a single system whereas etcd stores configuration information for large scale distributed systems. Hence, a &amp;ldquo;d&amp;quot;istributed &amp;ldquo;/etc&amp;rdquo; is &amp;ldquo;etcd&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;etcd stores metadata in a consistent and fault-tolerant way. Distributed systems use etcd as a consistent key-value store for configuration management, service discovery, and coordinating distributed work. Common distributed patterns using etcd include leader election, &lt;a href="https://pkg.go.dev/github.com/etcd-io/etcd/clientv3/concurrency" target="_blank" rel="noopener"&gt;distributed locks&lt;/a&gt;, and monitoring machine liveness.&lt;/p&gt;</description></item></channel></rss>