lua-acid
This library is in beta phase.
It is deployed in a production envinroment and has been running stably. But it still requires more tests and docs.
lua-acid is a colleciton of lua utility functions and a classic paxos implementation.
It is meant to be a underlaying code base for building a distributed system.
name | description | status |
---|---|---|
acid.strutil | string operation functions. | well tested |
acid.tableutil | table operation functions. | well tested |
acid.unittest | unittest engine that looks for test functions in a dir. | well tested |
acid.logging | logging utilities. | not well tested |
acid.cache | in-process or shared-dict based cache. | not well tested |
acid.paxos | classic paxos implementation. | not well tested |
acid.cluster | cluster implementation based on paxos. | not well tested |
Classic Paxos implementation in lua.
Nginx cluster management based on paxos.
Feature:
-
Classic two phase paxos algorithm.
-
Optional phase-3 as phase 'learn' or 'commit'
-
Support membership changing on the fly.
This is archived by making the group members a paxos instance. Running paxos on group member updates group membership.
Here we borrowed the concept 'view' that stands for a single version of membership.
'view' is a no more than a normal paxos instance.
Zhang Yanpo (张炎泼) [email protected]
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) [email protected]