Acquire is a distributed lock by etcd
try to lock with a key
if timeout the lock will be return
f() is the function what will be lock
it will return a error
key is prefix or a unique id
tll is lock timeout setting
tryLockTimes is backoff to retry lock