|
Home > Archive > Unix Programming > July 2005 > message queuing question
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
message queuing question
|
|
|
| Not sure if this is right group or not - plz tell me the correct one if not.
Looking for suggestions on how to provide a persistent message queuing ala
IBM MQSeries, MS Msg Queing, JMS, etc. None of those are quite acceptable,
nor available on our platform (Linux like).
It would be strictly a FIFO based system, but would run forever, no chance
for re-orgs and would discard old message (expired) - only access is either
put, get, and delete (after get). Would have to re-use the space of the
disk file(s). There would be a maximum filesize and a time based aging
mechanism where messages could be discarded.
At first thought, this seemed simple enough until I got into it and it gets
complicated fast and you pretty much end up implementing a full database,
ala BerkeleyDB, TDB, gdbm, etc.
I considered just implementing as a series of disk records, each record
having a header as a "linked list" - would be a free list and an available
record list. As records deleted, they are added to the free list, etc.
Until you start deleting records, the file would just grow by appending
records, and get them by taking from the front. However,once you start to
delete them, then you must use the free space and start putting records on
the front. Atomicity becomes difficult with this implementation also.
I've searched high and low and it seems like this hasn't been done before -
many "how do I do this", but most end up being pointed to an existing
database.
Never having studied database implementation theories, etc, I am curious how
difficult this might be.
Thanks for any comments.
| |
| Gustavo Rios 2005-07-12, 5:57 pm |
| Dear gentleman,
i could provide you with a solution on such matter. If it could be your
interest, we can keep a conversation in private. Let me know if that is
your will.
Sincerely,
Gustavo Rios
Independet Consultant.
|
|
|
|
|