GSoC2014/Queues/Storage
< GSoC2014
Revision as of 17:17, 12 February 2014 by Alejandro Cabrera (talk | contribs) (Created storage backend project page)
Contents
Add a New Storage Backend
Difficulty | Medium |
Topics | storage, python, marconi |
Mentor | Alejandro Cabrera |
The Queues project is architected in such a way that adding a new storage driver isn't a difficult endeavor. It involves:
- Creating a new github project
- Listing marconi as a dependency
- Stubbing out the driver implementation
- Running the unit tests with tox and watching them fail
- Iteratively filling in the various controllers
Controller Summary
Name | Type | Description |
QueueController | Data | Handles queue CRUD operations |
MessageController | Data | Handles message CRUD operations |
ClaimsController | Data | Handles claiming of messages |
ShardsController | Control | Handles registration of shards |
CatalogueController | Control | Lists association of queues to shards |
Project Goals
- Identify the storage backend to be supported
- Provide an implementation that passes all core tests
- Provide additional tests that test the nuances of that backend
- The core suite is fairly thorough - few additional tests, if any, should be needed
Project Nice-to-Haves
- Provide setup documentation (at least a README)
- a package available on PyPI (marconi-redis, for example)
- Benchmarks comparing their backend to existing backends
- v. mongodb, for example
- Indicate where their particular backend would be more effective than existing backends
Suggestions
The following are interesting storage engines to consider.