-
Notifications
You must be signed in to change notification settings - Fork 1
Home
CassieQ is a distributed queue built on cassandra. CassieQ leverages lightweight transactions and message bucketing to avoid issues with queues modeled off deletes.
CassieQ provides:
- At least once delivery
- You may get a message more than once. It is important for the client consumer to be able to handle this scenario
- Invisiblity of messages
- When a message is consumed, you can say how long it should not be re-visible for. When it becomes revisible (after that time) it can be redelivered to another consumer. You can also specify initial invisibility when putting messages in, so they won't be available for a consumer until that time.
- Simple API
- A simple REST api. Java client available
- Highly scaleable due to backing of cassandra
- Durable
- If the API accepts a message, it is persisted and will not be lost.
- Secured with granularty by account and specific actions
- Queue statistics (via graphite)
- The only native stat is queue size, however granular metrics regarding consume/ack/publish rates are all published as graphite metrics
- DLQ support
- DLQ's can be chained for more complex topologies
- Max message delivery
- Avoid poison messages with max delivery counts
- Simple deployment with docker
Cassandra is a great datastore that is massively horizontally scaleable. It also exists at a lot of organizations already. Being able to use a horizontally scaleable data store means you can ingest incredible amounts of messages.
Also by providing a simple docker container that houses an REST web api, you can scale out the queue by tossing more docker instances at your cassandra queue.
CassieQ is fully encapsulated and only needs to know your cassandra information.
For more information please see the side bar
Check out this presentation of cassieq at the 2016 Cassandra Summit
- Overview
-
Getting started
- Java client
-
Community client(s)
- [Client Guidelines](Client Guidelines)
- Authentication
- [HTTPS](Configuring HTTPS)
- API
- Recipes
- Statistics
- Custom config files
- [How does CassieQ work](How does CassieQ work)
- Internals
- [Cassandra Schema](Cassandra Schema)