DynamoDB Mutual Exclusion Locking for Go
Go
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
db.go
mutex.go
mutex_test.go
readme.md

readme.md

ddbsync

DynamoDB/sync

This package is designed to emulate the behaviour of pkg/sync on top of Amazon's DynamoDB. If you need a distributed locking mechanism, consider using this package and DynamoDB before standing up paxos or Zookeeper.

GoPkgDoc

Usage

Create a DynamoDB table named Locks.

$ export AWS_ACCESS_KEY=access
$ export AWS_SECRET_KEY=secret
// ./main.go

package main

import(
		"time"
		"github.com/ryandotsmith/ddbsync"
)

func main() {
		m := new(ddbsync.Mutex)
		m.Name = "some-name"
		m.Ttl = 10 * time.Second
		m.Lock()
		defer m.Unlock()
		// do important work here
		return
}
$ go get github.com/ryandotsmith/ddbsync
$ go run main.go

Related

lock-smith