Skip to content

bsc-s2/lua-acid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name

lua-acid

Status

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.

Description

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.

modules

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

lua-poxos

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.

Author

Zhang Yanpo (张炎泼) [email protected]

Copyright and License

The MIT License (MIT)

Copyright (c) 2015 Zhang Yanpo (张炎泼) [email protected]