Some messaging systems have features to make ordering easier. For example, ActiveMQ has Message Groups (http://activemq.apache.org/message-groups.html) which guarantee a single consumer processes message from the same group and that it receives them in order.