Почему Windows 10 нужна служба очереди сообщений и почему она установлена ​​по умолчанию?

26754
AndyDeGroo

Я обновил две системы с Windows 7 до 10, и на обеих из них после обновления установлена ​​служба MSMQ. Ни одна из этих систем не была установлена ​​ранее.

Наличие службы само по себе не является проблемой, но она или служба зависимостей прослушивает TCP-порт 80 через Microsoft HTTP API (системный процесс PID 4), и из-за этого я не могу запустить Apache.

Пока что мои поиски ответов были безрезультатными, потому что большинство результатов, которые я нахожу, касается установки и настройки MSMQ, а не его цели в недавно установленной системе Win10.

У меня есть два вопроса:

  1. Какова цель службы MSMQ в системах Windows 10?
  2. Могут ли службы быть отключены (или настроены на ручной запуск) без каких-либо побочных эффектов?
3

1 ответ на вопрос

7
Insane

What is MSMQ?

From Microsoft:

Microsoft Message Queuing (MSMQ) technology enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline. MSMQ provides guaranteed message delivery, efficient routing, security, and priority-based messaging. It can be used to implement solutions for both asynchronous and synchronous messaging scenarios.

From a user on Stack Overflow:

It's just a queue manager.

You can Send objects (serialized) to the queue where they will stay until you Receive them. It's normally used to send messages or objects between applications in a decoupled way.

It has nothing to do with webservices, they are two different things

Can you disable it? What happens?

When the MSMQ service is uninstalled the following actions are also carried out:

  1. All existing queues and queue configuration information is deleted
  2. All messages contained in those queue and the system dead letter queue (DLQ) is deleted

(Source)

In a nutshell

The service started coming installed on Windows 8 and up systems (to my knowledge), which may be why you didn't see it on 7. Removing it only affects itself, and if you aren't using it then nothing should be affected.

Disabling the service you know how to do, but you can also remove it using Add & Remove Features

Вот Это Да! Я не ожидал такого хорошего и подробного ответа так быстро. Хотя я прочитал описание на TechNet и знаю, как удалить компоненты. Что я хочу знать, так это то, что для компонентов Windows 10 требуется MSMQ. Почтовое приложение? IIRIC, я не видел MSMQ, работающий на системах Win8. * идет, чтобы проверить * AndyDeGroo 8 лет назад 0
Хм, мне тоже очень любопытно. Кажется, нигде не могу найти что-либо в отношении того, от чего зависит MSMQ. Однако я очень сомневаюсь, что это для чего-то внешнего интерфейса, например, почтового приложения или чего-то слишком важного. [Википедия] (https://en.wikipedia.org/wiki/Microsoft_Message_Queuing#Uses) указывает, что она в основном используется для «приложений контакт-центра на основе платформы Windows» Insane 8 лет назад 0
Я могу подтвердить, что в Win8 не установлен MSMQ. Мы могли бы попытаться определить, что его использует, включив [сквозную трассировку MSMQ] (https://technet.microsoft.com/en-us/library/cc730882.aspx) и проверив журнал через некоторое время. Я только включил журнал и сообщу о своих результатах после нескольких перезагрузок. AndyDeGroo 8 лет назад 0
Звучит как план для меня. Лучший способ получить ответ - получить его самостоятельно;) Insane 8 лет назад 0
Прошло почти две недели с тех пор, как я включил ведение журнала трассировки MSMQ. В журнале событий End2End нет записей. Исходя из этого, я предполагаю, что MSMQ вообще не используется, и это хороший кандидат на удаление. Тем не менее остается вопрос: почему MSMQ по умолчанию устанавливается в системах Windows 10? AndyDeGroo 8 лет назад 1
@AndyDeGroo, хотя я знаю, что прошло немного времени с тех пор, как вы прокомментировали, однако я хотел бы добавить немного больше информации, если вы не решили эту проблему. .Net 4.6 позволяет MSMQ и устанавливает некоторые библиотеки для него, принадлежащие MSMQ, прежде чем вы сможете использовать MSMQ из .NET 4.6 Windows должен включить сервер MSMQ. Frostalf 7 лет назад 0
@Frostalf It's not really a problem but a question I could not find answer to in any Microsoft resource. Thank for pointing out that. I had a suspicion that MSMQ might be needed for .NET. It appears to be installed just in case an application targeting .NET 4.6 needs it. AndyDeGroo 7 лет назад 1
@AndyDeGroo Вы правы, что оно установлено на тот случай, если оно понадобится приложению, использующему .NET 4.6. Frostalf 7 лет назад 0
В моей системе Windows 10 по умолчанию не установлен MSMQ-Server. У меня установлен IIS. Возможно, он устанавливается с другим компонентом IIS, который я не включил. Trevor Sullivan 7 лет назад 0