Skip to content

hmilkovi/python-raft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-Raft

This is built so it can be used directly in code so we can avoid adding Redis, Etcd or smililar to the stack.

Main features:

  • KV based on diskcache python lib that is replicated via Raft supports set, get, set_many, delete and expire of keys
  • Disributed lock via built in lock inside PySyncObj
  • Resistance on disk via diskcache and also presistant Raft

Use cases:

  • Distributed web application server side sessions
  • Distributed locking
  • Distributed processing of data
  • Distributed cache

Built on top

This lib si built on top:

Run example cluster

RAFT_DATA=raft1.kv RAFT_SELF=127.0.0.1:6000 RAFT_OTHER_NODES=127.0.0.1:6001,127.0.0.1:6002 RAFT_JOURNAL_FILE=journal1.bin RAFT_FULL_DUMP_FILE=fulldump1.bin  python example_cluster.py write
RAFT_DATA=raft2.kv RAFT_SELF=127.0.0.1:6001 RAFT_OTHER_NODES=127.0.0.1:6000,127.0.0.1:6002 RAFT_JOURNAL_FILE=journal2.bin RAFT_FULL_DUMP_FILE=fulldump2.bin  python example_cluster.py read
RAFT_DATA=raft3.kv RAFT_SELF=127.0.0.1:6002 RAFT_OTHER_NODES=127.0.0.1:6001,127.0.0.1:6000 RAFT_JOURNAL_FILE=journal3.bin RAFT_FULL_DUMP_FILE=fulldump3.bin  python example_cluster.py read

About

Python Raft KV with Locking

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages