Под «постоянным» они подразумевают соединение, которое открывается, а затем остается открытым. Довольно распространенная проблема заключается в том, чтобы определить, стоит ли связывать ресурсы с «всегда активным» соединением или нести накладные расходы на открытие и закрытие соединения каждый раз, когда оно вам нужно.
Хотя, возможно, стоит сделать шаг назад.
Если у вас есть сервер, который должен прослушивать запросы от множества клиентов, у вас может быть идеальный вариант использования архитектуры, основанной на сообщениях. Если вы используете сильно связанные соединения, подобные тем, которые создаются с помощью TCP/IP, ваши клиенты и серверы должны будут много знать друг о друге, и вам придется писать много низкоуровневого кода соединения.
В архитектуре, основанной на сообщениях, ваши клиенты могут помещать сообщения в очередь. Затем сервер может отслеживать эту очередь. Он мог брать сообщения из очереди, выполнять работу и помещать ответы обратно в очередь, откуда их могли забрать клиенты.
При таком дизайне клиенты и серверы не должны ничего знать друг о друге. Если бы они могли размещать правильно сформированные сообщения в очереди и подключаться к очереди, они могли бы быть реализованы на совершенно разных языках и работать на разных ОС.
Промежуточное программное обеспечение, ориентированное на обмен сообщениями, такое как Apache ActiveMQ и Weblogic, предлагает API, которые вы можете использовать из C++ для управления и использования очередей и других объектов обмена сообщениями. ActiveMQ имеет открытый исходный код, а Weblogic продается Oracle (который купил BEA). Есть много других отличных серверов обмена сообщениями, поэтому используйте их в качестве примеров, чтобы начать работу, если вам кажется, что обмен сообщениями стоит изучить.
person
Stephen Harmon
schedule
21.12.2009