sheep
A simple, but powerful, counter service written in Go. (by gcp-services)
spindle
A distributed locking library built on top of Cloud Spanner and TrueTime. (by flowerinthenight)
sheep | spindle | |
---|---|---|
2 | 4 | |
8 | 54 | |
- | - | |
0.0 | 4.2 | |
about 1 year ago | about 1 month ago | |
Go | Go | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sheep
Posts with mentions or reviews of sheep.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Need advice choosing the right database
You can see this in action in a service I wrote many years ago called Sheep. Note, that code is old and kind of a mess, but it should give you a general idea for how to handle distributed counters. That being said, I don't know of a clean way to do this in Dataflow without wiring up a bunch of DoFn's.
-
basic but hard problem: How to have order numbers that go chronological #0001 #0002 #0003 ... ?
Oh, this is an interesting problem that I've solved for personally years ago in a project called Sheep. Note, this project won't work for your specific use case, but the premise is the same. Essentially, you're right that a transaction on a single row would create a hotspot, so what you must do is shard the counter across N rows.
spindle
Posts with mentions or reviews of spindle.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-01-05.
What are some alternatives?
When comparing sheep and spindle you can also consider the following projects:
tbls - tbls is a CI-Friendly tool for document a database, written in Go.
memberlist - Golang package for gossip based membership and failure detection
redis-lock - Simplified distributed locking implementation using Redis
hedge - A distributed systems library for Kubernetes deployments built on top of spindle and Cloud Spanner.
go-mysql-lock - MySQL Backed Locking Primitive
iam-go - An opinionated Open Source implementation of the google.iam APIs on top of Cloud Spanner.
go-spnr - ORM for Cloud Spanner to boost your productivity