Sign inSign up

gopluto/pluto

By gopluto

Updated about 9 years ago

A distributed IMAP server based on Conflict-free Replicated Data Types.

Image
2

2.4K

gopluto/pluto repository overview

Pluto is a distributed IMAP server that implements a subset of the IMAPv4 standard. It makes use of Conflict-free Replicated Data Types (operation-based style) defined by Shapiro et al. to replicate application state into traditionally stateless tiers (worker nodes) and still achieve system-wide convergence of user data. By this, pluto attempts to offer a solution towards the challenges arising from Brewer's CAP theorem: in case of failures in the system, choose to stay available by accepting reduced consistency in form of the CRDTs' strong eventual consistency. We described our system architecture, the modelled IMAP operations based on OR-Set CmRDTs, and a response time evaluation of this prototype compared to Dovecot in our paper called "pluto: The CRDT-Driven IMAP Server", presented at PaPoC 2017.

Pluto is written in Go and provided under copyleft license GPLv3.

Please see the full README here: https://github.com/go-pluto/pluto

Tag summary

Content type

Image

Digest

Size

6.4 MB

Last updated

about 9 years ago

docker pull gopluto/pluto