[rabbitmq-discuss] Beginner to message and RabbitMQ

Alexis Richardson alexis at rabbitmq.com
Thu Mar 29 11:37:18 BST 2012


James

Please could you send emails to rabbitmq-discuss at rabbitmq.com?  The
google group is basically a mirror.

In general, put stuff in a database if you expect it to be read more
than a few times.  If on the other hand, you have data that needs to
be "routed and delivered" between processes, using a messaging system
may help you.  When messages are large, there is no upside to using a
database as well as a messaging system, if all you are doing is
passing data from 1 publisher to N consumers.

To notify a client of failure, you should first define failure.  Is it
a timeout?

alexis





On Fri, Mar 16, 2012 at 8:46 AM, James Spibey <james.spibey at gmail.com> wrote:
> Hi,
>
> I'm trying to determine if RabbitMQ is the right solution for me, and I was
> hoping someone here might be able to help answer a couple of questions?
>
> The app I'm working on is fairly simple, a user creates a listing which they
> can then post to a website, but also post links to twitter and facebook and
> send out a bulk email to a list of subscribers. At the moment this is all
> done synchronously when the user saves the listing through a web site, but I
> would like to use a queue to increase the reliability of the solution.
>
> The following is how I think the new solution might work:-
>
> 1) User posts new listing through web app which we commit to database.
> 2) Listing is reformatted for each of Twitter/Facebook/Email and committed
> to the database.
> 2) Listing is added to a message queue.
> 3) Background process(es) read the queue and submit to facebook, twitter and
> email (SMTP).
> 4) User is notified if anything went wrong.
>
> So my questions:-
>
> - If this a good idea or am I thinking of queues in the wrong way?
> - The listing is committed to the database, but at the moment we also
> persist the twitter/facebook/email messages to the database too because they
> are formatted differently. Should we continue to do this or should those
> just be RabbitMQ messages? I don't suppose we really need to be able to see
> those (except for debugging)
> - Should the Message which is sent to the Queue be everything which the
> consumer needs to process the message or is it acceptable to just send a
> primary key and have the consumer (background process) fetch it from the
> database?
> - How do I notify the client of a failure? Ideally I'd like to be able to
> present it back in the web app UI
>
> Sorry for all the questions, I appreciate any help you can give
>
> Regards
>
> James
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>


More information about the rabbitmq-discuss mailing list