Какой лучший шаблон обмена сообщениями Zeromq для сервера промежуточного программного обеспечения с асинхронными бэкэнамC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Какой лучший шаблон обмена сообщениями Zeromq для сервера промежуточного программного обеспечения с асинхронными бэкэнам

Сообщение Anonymous »

Я строю сервер промежуточного программного обеспечения с помощью Zeromq (CPPZMQ), и я не уверен, какой шаблон обмена сообщениями лучше всего подходит для моей архитектуры. Вот настройка: < /p>
Клиент подключается к TCP и отправляет протокуф-кодируемые запросы команд на сервер. Поток обработчика через Inproc. < /li>
< /ul>
Каждый бэкэнд обрабатывает запрос и должен в конечном итоге отправить ответ обратно исходному клиенту. Обратите внимание, что бэкэнды-это разные обработчики, не множество экземпляров одного типа. < /P>
Требования: < /strong> < /p>
  • Сервер не должен блокировать во время ожидания ответов от бэкэнд. Необходимо поддерживать правильный маршрутизацию запроса-ответа (то есть клиент должен получить правильный ответ).
  • В идеале, бэкдинга, которые запускаются как независимые потоки, подключенные через inproc: //.

, что у меня есть до сих пор:



Дилерский сокет для каждой бэкэнд-потока. < /li>
< /ul>
Я рассмотрел: < /p>

Использование классического роутера-дилера, но я не уверен, как справиться с динамической маршрутизацией между фронталами и бэкендами. Устройство zmq :: proxy () может помочь, но неясно, как контролировать маршрутизацию, специфичную для бэкэнд. Убедитесь ли я, что ответы правильно направляются обратно на исходный клиент? или советы по архитектуре будут высоко оценены.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -asynchron
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»