Topologies.
Node is part of client (Java)
Nodes are separate servers with connected clients (Java, Python, C++, C# ...)
Connects to all server nodes and distributes requests
Connects to one server node that mediates requests
Partitioning. Partitioned data structures split between nodes
By default 271 partitions
Per instance configurable backup copies
Per instance configurable synchronization with backup copies
Read of backup copies possible with reduced consistency guarantees
Nodes can form partition groups
Used to distribute partitions across failure domains
Can be derived from deployment architecture in cloud
Partitioning uses consistent hash algorithm
Smart clients can communicate with relevant nodes directly
Non partitioned data structures can specify partition manually