<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="h5">
> Assuming that there is a known identifier for each game (database id, guid,<br>
> or equivalent), what about using a single direct exchange, with the routing<br>
> key being set to the game id each time. When a player connects, they<br>
> subscribe to the exchange with all of the routing keys for the games that<br>
> they are interested in.<br>
<br>
</div></div>Can you subscribe one queue to one exchange with multiple keys, or is<br>
the idea that each player would use one queue per game?<br>
<div class="im"></div></blockquote><div><br>The one queue can be bound to a single exchange with multiple routing keys; so each player would only need to have a single queue. Depending on how you access Rabbit, it might also be worth putting the routing key into the message body, just to make it a bit more accessible (since some apis don't provide the easiest access to the routing key).<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
> As far as scalability is concerned, using a direct exchange with many<br>
> routing keys should hopefully be no worse than many fanout exchanges with no<br>
> routing keys. If you're considering the clustering scenario, exchange<br>
> information is replicated to all nodes - so it isn't like there is a single<br>
> point that all messages need to go through.<br>
<br>
</div>Good to know. I wasn't too worried about using one direct exchange,<br>
but using one topic exchange seemed like a bad idea.<br>
<div><div></div><div class="h5"></div></div></blockquote><div><br>Paul.</div></div>