Module 10b - Apache ZooKeeper Flashcards
What is ZooKeeper?
ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
ZK is a high performance coordination service for distributed applications
What does CAP stand for?
Consistency, Availability, Partition tolerance
In a distributed system following a hierarchical structure, the master is prone to ______, and so we may want to spin up a ______ master. This is facilitated by a _______ service
failures
backup
coordination
ZooKeeper’s architecture supports high ________ through ________ services. The clients can thus ask another ZooKeeper leader if the first fails to answer.
availability
redundant/replicated
What protocols can you implement with ZooKeeper in a distributed system?
- Consensus
- Group Management
- Leader election
- Presence Protocols
ZooKeeper exposes a simple set of ______ that ______ applications can build upon to implement ______ level services.
primitives
distributed
higher
What high level services can the ZooKeeper primitives be used to implement?
- Synchronization
- Configuration Maintenance
- Groups
- Naming
What are ZNodes?
Data registers. They are similar to files and directories.
Filesystem files are designed for storage, whereas ZooKeeper data is kept _______, allowing Zookeeper to achieve high _______ and low _______.
in-memory
throughput
latency
Like the distributed processes it coordinates, ZooKeeper itself is intended to be _______ over a set of hosts called an ensemble.
replicated
The servers that make up the ZooKeeper service must all know about each other. As long as a ______ of the servers are available, the ZooKeeper service will be available
majority
Clients connect to a single ZooKeeper server. The client maintains a ___ connection. If the TCP connection to the server breaks, the client will connect to a _____ server.
TCP
different
ZooKeeper is fast in ______ dominant workloads
read
The data stored at each ZNode is _____ in size
small
ZNodes have a _______ number associated with them which is maintained with a stat structure. Each time a ZNode’s ______ is changed, this number is number increases
version
data