CassMail: A Scalable, Highly-Available, and Rapidly-Prototyped E-Mail Service

International audience In this paper we present the design and implementation of a scalable e-mail service over the Cassandra eventually-consistent storage system. Our system provides a working implementation of the SMTP and POP3 protocols and our evaluation shows that the system exhibits scalable p...

Full description

Bibliographic Details
Main Authors: Koromilas, Lazaros, Magoutis, Kostas
Other Authors: Foundation for Research and Technology - Hellas (FORTH), Pascal Felber, Romain Rouvoy, TC 6, WG 6.1
Format: Conference Object
Language:English
Published: HAL CCSD 2011
Subjects:
Online Access:https://hal.inria.fr/hal-01583577
https://hal.inria.fr/hal-01583577/document
https://hal.inria.fr/hal-01583577/file/978-3-642-21387-8_23_Chapter.pdf
https://doi.org/10.1007/978-3-642-21387-8_23
Description
Summary:International audience In this paper we present the design and implementation of a scalable e-mail service over the Cassandra eventually-consistent storage system. Our system provides a working implementation of the SMTP and POP3 protocols and our evaluation shows that the system exhibits scalable performance, high availability, and is easily manageable under write-intensive e-mail workloads. The design and implementation of our system is centered around a synthesis of interoperable components for rapid prototyping and deployment. Besides offering a proof of concept of such an approach to prototyping distributed applications, we further make two key contributions in this paper: First, we provide a detailed evaluation of the configuration and tuning of the underlying storage engine necessary to achieve scalable application performance. Second, we show that the availability of scalable storage systems such as Cassandra simplifies the design and implementation of higher-level scalable services, especially when compared to the effort expended in projects with similar goals in the past (e.g., Porcupine). We believe that the existence of infrastructural services such as Cassandra brings us closer to the vision of a universal toolbox for rapidly prototyping arbitrary scalable services.