[rabbitmq-discuss] what is the best way of implementing client-server arcitecture?

Steve Powell steve at rabbitmq.com
Fri Jul 13 11:33:29 BST 2012


Ivan,

This is a very good question. However, I'm bound to say it is not really
a RabbitMQ question.

A full answer would occupy a book (and indeed, you can find books on
this subject) and boil down to analysing:

a) what do you mean by 'best'?  That is, precisely what are your goals?
b) what really matters to you? That is, precisely what are your
   requirements?

These can have so many answers it is not possible to say what
arrangement is 'best'. I'll just give a small selection of problem
differentiators:

1. what size requests? (what is 'pretty large'??)
2. what size replies?
3. are there server/application affinity rules?
4. are the requests transactional? serialised?
5. are there response guarantees? what are they?
6. what message rate? variability?
7. what service rate? variability?
8. what hardware?

I recommend you go find a good book. I could be wrong but you probably
won't find any definitive answers on a forum like this.

Good luck,
Steve Powell  (a happy bunny)
----------yet more definitions from the SPD----------
corrugate (n.) T.V. soap scandal.
olympic (n.) A camp road-digger.
jamboree (n.) A conserve made from French cheese.

On 13 Jul 2012, at 08:08, ivan.lysov wrote:

> Hello,
> I'm wondering how the server should consume the messages. 
> 1. There is one queue where all the messages from all the clients are
> delivered.
> a) would it be a bottleneck especially when the size of messages is pretty
> large?
> b) is it the size that really matters in this case?
> 2. There are many queues, one for each client.
> a) would it be a performance issue to keep on listening all the queues?
> b) is it the number of clients that matter in this case?
> 3. There are several queues that server listens to, the messages are
> delivered by some special algorithm (for example, grouped by categories or
> size)
> a) does it make sense at all? And if it does, what is the best practices
> algorithm for such message distributing?
> 
> Sure, there is no big deal in trying all these cases in test projects (what
> i'm going to do right now), measuring performance etc., but i'm also sure
> that there is a best way of implementing this. So i need your help.
> 
> Thank you!
> Ivan.
> 
> --
> View this message in context: http://rabbitmq.1065348.n5.nabble.com/what-is-the-best-way-of-implementing-client-server-arcitecture-tp20768.html
> Sent from the RabbitMQ mailing list archive at Nabble.com.
> _______________________________________________
> 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