Rabbitmq server consist of three parts, EXCHANGE,QUQUE,ROUTEKEY, ROUTEKEY specify how a QUEUE is bound to EXCHAGE.
1. provider sends a message to Rabbitmq, according to EXCHANGE and ROUTEKEY, the message will finally be stored into
a QUEUE.
if rabbitmq server accept the message, then a confirming message could be sent to provider for notification of message arrival.
if rabbitmq server accept a message and before the message is consumed, the count of "Ready" will be added one.
2. consumer fetch message from designated QUEUE for consuming.
consumer may send ACK message to rabbitmq server to notify if the message is consumed properly, rabbitmq server may
Re-queue the message if necessary.
if consumer fetch a message from rabbitmq, before sending ACK message to rabbitmq server, the count of "UNACK" will
be added one.