Files
uncloud/pkg/distlock/doc.go
T

13 lines
898 B
Go

// Package distlock provides distributed, automatically renewed leases across independent nodes.
//
// Its quorum and lease semantics are based on the Redlock algorithm described at
// https://redis.io/docs/latest/develop/clients/patterns/distributed-locks/. The core package is independent of storage
// and network transport and does not require Redis. Applications that communicate with remote nodes over gRPC can use
// the grpc subpackage to expose and call node-local lease operations.
//
// A Cluster must return every node in the lock group, including temporarily unavailable nodes, because every node
// counts toward quorum. Changing the node set is unsafe if a new quorum can be disjoint from an earlier quorum while
// leases acquired from the earlier node set may still be valid. Callers must stop protected work when the context
// returned by Lease.Context is done.
package distlock