See MessageQueuingArchitectures