Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eladkehat/couch-rqs
A Relaxed Queue Service
https://github.com/eladkehat/couch-rqs
Last synced: 27 days ago
JSON representation
A Relaxed Queue Service
- Host: GitHub
- URL: https://github.com/eladkehat/couch-rqs
- Owner: eladkehat
- License: mit
- Created: 2011-05-21T07:48:37.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-11-19T06:42:20.000Z (about 13 years ago)
- Last Synced: 2023-03-12T01:26:06.424Z (almost 2 years ago)
- Language: Java
- Homepage:
- Size: 231 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
Relaxed Queue Service
=====================Couch-RQS (Relaxed Queue Service) is an open source queue system that enables
applications to submit and receive messages through a web interface.
It is based on CouchDB, a robust, fast and easy to use document-oriented
database - http://couchdb.apache.org/The queue interface is provided by Java code (CouchDB itself is written in
Erlang).Inspiration
-----------The inspiration for Couch-RQS was [Amazon SQS][0] (Simple Queue Service).
Like SQS, RQS lets components of your application communicate through a queue
buffer that is accessible through HTTP. However, RQS trades-off SQS' high
availability guarantee for real queue functionality (see the wiki pages for
a detailed comparison).
Also, RQS is completely free and runs on your own infrastructure - completely
under your control.Key Features
------------* The queue is accessible as a web service. Different components in your
application can access it from multiple locations - just run a CouchDB instance
on a machine that is accessible to the rest of your applications.
* Guaranteed message delivery: dequeued messages remain in the queue, hidden,
until deleted by the acquiring process. If that process crashes before it
finishes processing the message, the message will appear again after a preset
timeout period, to be consumed by another process.
* Supports FIFO/LIFO functionality. Messages are guaranteed to be consumed in
sequence.
* Very large message payload size (up to 4GB, limited by available RAM on the
server - as per CouchDB limitations).
* Messages are guaranteed to arrive only once, and are guaranteed to arrive if
they're available. No need to code around these SQS limitations.More Goodness
-------------* Relies on the very robust and generally wonderful CouchDB.
* It is simple to implement a hot backup (or multiple backups) of your queue
data across the network using CouchDB's replication mechanism.
* Simple Java API.
* Unlike SQS, it's open source and completely free.Limitations
-----------* Couch-RQS cannot run safely in a distributed / replicated environment.
Check out the wiki pages to learn more[0]: http://aws.amazon.com/sqs/