memclustered

0.1.0 • Public • Published

memclustered

Clustering extension for use with Memcached. Work in progress.

alt text

We use this module here at Pipderive to keep the data in sync on Memcached in each host, so that it can be consumed by the application locally without accessing (thus depending on) other hosts.

How it works

Memclustered runs as a separate process on the system, and it exposes a standard memcached interface on port 11200 (configurable). All memclustered services running on the same network segment that are configured with the same environment variables will automatically form a cluster using multicasting.

Intended use

The intended usage is that all read-operations are pointed to the local Memcached running on the same host, while all write-operations (set, incr, decr, delete, ...) are done against the Memclustered service on the same host. Memclustered will then ensure all Memcached services running on all other hosts get the same information.

Caveats

It does not support "transactions" as such, neither does it lock any data for update. If any of the nodes in the cluster should go down, the data will thus not get replicated to that host any longer. If the nodes comes back up, it will not receive the data that was stored during its absence from the cluster.

Licence

MIT.

Readme

Keywords

Package Sidebar

Install

npm i memclustered

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • pipedrive-inc