У меня мало опыта работы с сокетами, но я пробовал немного прочитать об этом. Я хорошо знаком с MDB и очередями обмена сообщениями. Кто-то сказал мне, что очередь (например, MDB) - "Не намного больше, чем прямое соединение сокета". Может ли кто-то сравнить эти два для меня.
Очереди сообщений против сокетов
Ответ 1
eeeeemph... этот человек был очень неправ. Эти два несравнимы, поскольку они живут в разных слоях. Это похоже на то, что "реляционная база данных не намного больше, чем файл на диске" или "дом не намного больше, чем кирпич".
Очередь сообщений - это часть программного обеспечения, которое склеивает отправителей и получателей, чтобы они могли общаться, не зная много друг о друге (они оба должны знать о очереди, конечно) и не нуждаются в реализации сетевого кода, маршрутизация одного сообщения на многие приемники и т.д. Система работает, даже если отправители и приемники никогда не будут живы одновременно, поскольку очереди также служат в качестве временного хранилища для недополученных сообщений. Кроме того, очереди могут предоставлять дополнительные услуги, такие как авторизация, транзакции и т.д.
Соединение сокетов - это абстракция низкого уровня, которая гласит: "В настоящее время две программы могут передавать данные по сети друг другу, по крайней мере до тех пор, пока соединение по какой-либо причине не сломается". Так что да, обычно очередь сообщений будет использовать соединения сокетов для работы.