-
Clustering: https://coreos.com/etcd/docs/latest/v2/clustering.html#etcd-discovery
-
Discovery Protocol: https://coreos.com/etcd/docs/latest/v2/discovery_protocol.html
-
Docker: https://coreos.com/etcd/docs/latest/op-guide/container.html#docker
-
Runtime Reconfig:
-
Members HTTP v2 API: https://coreos.com/etcd/docs/latest/v2/members_api.html
-
Members v3 GRPC API: https://coreos.com/etcd/docs/latest/dev-guide/api_reference_v3.html#service-cluster-etcdserveretcdserverpbrpcproto
-
Disaster Recovery: https://coreos.com/etcd/docs/latest/op-guide/recovery.html
-
ENV/ Flags: https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md
-
TLS:
{
"signing": {
"default": {
"expiry": "43800h"
},
"profiles": {
"server": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
},
"client": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
},
"peer": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
initial-cluster-token
: If you are spinning up multiple clusters (or creating and destroying a single cluster) with same configuration for testing purpose, it is highly recommended that you specify a unique initial-cluster-token for the different clusters. By doing this, etcd can generate unique cluster IDs and member IDs for the clusters even if they otherwise have the exact same configuration. This can protect you from cross-cluster-interaction, which might corrupt your clusters.
Raft:
- Visualization: http://thesecretlivesofdata.com/raft/
- Website: https://raft.github.io/
- Library: https://github.com/coreos/etcd/tree/master/raft
- Example: https://github.com/coreos/etcd/tree/master/contrib/raftexample
Video:
CRDT: https://medium.com/@istanbul_techie/a-look-at-conflict-free-replicated-data-types-crdt-221a5f629e7e
CRDT vs OT: https://stackoverflow.com/questions/26694359/differences-between-ot-and-crdt