Stateful Web Primitives

Stateful.co is a collection of web primitives, accessible through web interface and RESTful API.

Atomic Counters

You create an atomic counter with a unique name and set its initial integer value. Then, you can increment or decrement it. Our server guarantees atomicity of each operation. This means that no matter how many parallel requests you send, their results won't be duplicated.

This mechanism may be very useful, when you need to simulate an auto-increment value in a NoSQL database, for example Amazon DynamoDB.

Concurrent Locks

Create a lock, run your sensitive operations, and remove the lock. We guarantee that lock creation procedure is atomic. This means that only one process will get a lock, others will be rejected.

This mechanism may be useful to synchronize data modification processes running across multiple server nodes. Inside one node you can synchronize through platform-native locking tools, but in multi-node environment cloud locking is the only option.

Authentication

In every HTTP request you should set two authentication headers X-Sttc-URN and X-Sttc-Token to the values you see on top of this page.

For example, this is how your HTTP request may look like:

GET /c/test/inc?value=0 HTTP/1.1
Host: www.stateful.co
X-Sttc-URN: urn:github:526301
X-Sttc-Token: B28F-38E4-B305-C3A3

Pricing

The service is absolutely free of charge, thanks to our sponsor teamed.io.

Questions? Ideas?

It is an open source project, don't hesitate to tell us what you would like to improve or fix. Just submit an issue to Github.