Reverse Housecat is a one-to-one messaging pattern in which a sender asks a receiver to address a reply back to the sender by name. The diagram shows this pattern, where Cat refers to the sender, and Master refers to the receiver. The Router refers to a set of feeds and pipes, or other resources capable of queuing and routing messages.
In the general decoupled messaging model, the cat reads from a private queue which subscribes to the named address, and the master publishes messages to this named address. In a coupled model, the cat reads from a named queue and the master publishes into this queue directly.
This pattern is reversed from the basic Housecat because the cat originates the request, telling the master what address to reply to.
The RestMS 3/Defaults profile implements Reverse Housecat via the default join (coupled to pipe name) or ad-hoc joins (coupled using any address the cat and master agree on). For pragmatic reasons Reverse Housecat naturally uses generated pipe names for reply to addressing.
Reverse Housecat is most commonly used as part of a request-response scenario, to define a path for replies to a service request.
Reverse Housecat scales to many cats, and when used with Wolfpack, also scales to many masters.