Introduction
- Configuration management, service discovery, and distributed coordination
- etc vs traditional databases - documents (files) vs tables
How a Distributed System Works
- Load balancing, availability, recovery
- Nodes (master, slave, etc.)
- Messaging
- Storage
Overview of etcd Features and Architecture
- etcd in a cluster mode - leaders and followers
- Ensuring consensus using the Raft protocol
Setting up etc
- Downloading and running binaries
- Using the etcdctl CLI
- Configuring an etcd cluster
Operating etcd
- Connecting clients to the etcd service
- Adding and viewing "documents" using the etcd build-in client
- Reading and writing to etcd from within Kubernetes
- Reading and writing to etcd from a microservice application
Real-world Use Cases
- Changing application behavior in response to changes
- Using etcd to store database connection details
- Using etcd to store feature flags
Managing an etcd cluster
- Achieving fault tolerance
- Adjusting the number of nodes in cluster
- Reconfiguring node leader
- Performing distributed locking across a cluster
- Using metrics to track latency
- Backing up etcd data
etcd in the Public Cloud
- Cloud provider support (AWS, etc.)
- Networking pre-tuning
Best Practices
Troubleshooting
Summary and Conclusion