type Lock interface {
// Acquire acquires a lease of duration ttl around a given resource. In case of an error,// acquired is meaningless.
Acquire(resource string, ttl time.Duration) (acquired bool, err error)
}
Lock uses distributed lock for control of a resource.