Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I'm not quite sure what you're trying to prove by your tests, but remember IO and memory is going to be a function relating to the overall size of the queue, rather than how many exchanges you have bound to a single queue. You might find this blog post on <a href="http://blog.springsource.org/2011/04/01/routing-topologies-for-performance-and-scalability-with-rabbitmq/" rel="nofollow">Routing Topologies for Performance and Scalability with RabbitMQ</a> quite helpful.</p> <p>Anyway, the problem appears to be with your bindings, I can reproduce the problem without writing a line of code by just using the Web Management portal for RabbitMQ.</p> <p>Take a look at the section on Topic exchange <a href="http://www.rabbitmq.com/tutorials/tutorial-five-python.html" rel="nofollow">here</a> but the important parts are:</p> <blockquote> <p>Messages sent to a topic exchange can't have an arbitrary routing_key - it must be a list of words, delimited by dots. The words can be anything, but usually they specify some features connected to the message. A few valid routing key examples: "stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit". There can be as many words in the routing key as you like, up to the limit of 255 bytes.</p> <p>The binding key must also be in the same form. The logic behind the topic exchange is similar to a direct one - a message sent with a particular routing key will be delivered to all the queues that are bound with a matching binding key. However there are two important special cases for binding keys:</p> <pre><code>* (star) can substitute for exactly one word. # (hash) can substitute for zero or more words. </code></pre> </blockquote> <p>So that means that when you're publishing your messages you should be doing <strong>system.error</strong> and <strong>system.log</strong></p> <p>However, I think there is actually something wrong with your exchange bindings. If you try to publish using these routing keys using the RabbitMQ web management you will notice that your messages aren't actually being routed to the queue at all, which would explain why your consumers are getting them...I would play around with the bindings and use the RabbitMQ web management to try out the routing behaviour you're trying to achieve before running a larger test.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload