Если я правильно понимаю, ваш киоск отправляет сообщение на центральный сервер, и он должен ответить на обмен заголовками, который направляет сообщение в очередь, предназначенную для сообщений этого киоска. Каждый киоск потребляет сообщения из собственной выделенной очереди.
Давайте представим, что вы делаете привязку на основе StoreLocationId и KioskId. Когда киоск отправляет свое сообщение на центральный сервер, он гарантирует, что StoreLocationId и KioskId включены в сообщение. Центральный сервер делает то, что ему нужно, и добавляет к ответному сообщению два заголовка сообщения: StoreLocationId и KioskId со значениями, полученными из киоска. Ответы, отправленные на этот обмен заголовками, теперь будут правильно перенаправлены в нужный киоск.
Должен заметить, что вы также можете использовать обмен темами и использовать ключ маршрутизации, например LocationId_KioskId. Или используйте обмен по умолчанию, если ваши очереди в киосках следуют стандартному соглашению об именах, которое может быть получено из данных, включенных в сообщение запроса.
С точки зрения безопасности, возможно, обмен по умолчанию был бы наилучшим, поскольку киоски не могли устанавливать привязки, которые позволили бы им принимать сообщения из нескольких других киосков. При использовании обмена по умолчанию один и только один киоск получит ответ.