ActiveMQ или RabbitMQ или ZeroMQ или [закрыто]

Убедитесь, что ваш проект ссылается на system.web.mvc v3.xxxxx.

Тогда ваш код должен выглядеть примерно так:

using System.Web.Mvc;

. , , .

[Required(ErrorMessage = "This field is required.")]    
public string NewPassword { get; set; }

[Required(ErrorMessage = "This field is required.")]
[Compare(nameof(NewPassword), ErrorMessage = "Passwords don't match.")]
public string RepeatPassword { get; set; }
646
задан Aniket Thakur 27 February 2014 в 07:04
поделиться

13 ответов

В комментариях к этому сообщению в блоге обсуждается, что Twitter пишет свое собственное сообщение очередь, которая может быть интересной.

Стив сделал большую нагрузку и стресс тестирование ActiveMQ, RabbitMQ и др. ActiveMQ на самом деле довольно медленно медленнее, чем пустельга), RabbitMQ постоянно вылетает со слишком многими производителей и слишком мало потребителей.

Однако, поначалу у вас, вероятно, не будет загрузки, подобной Twitter:)

5
ответ дан 22 November 2019 в 21:49
поделиться

Больше информации, чем вы хотели бы знать:

http://wiki.secondlife.com/wiki/ Message_Queue_Evaluation_Notes


ОБНОВЛЕНИЕ

Просто уточняю, что Павел добавил в комментарии. Страница , упомянутая выше , умерла после 2010 года, так что читайте ее щепоткой соли. За 3 года многое изменилось.

History of Wiki Page

83
ответ дан 22 November 2019 в 21:49
поделиться

Эйби, все сводится к вашему варианту использования. Вместо того, чтобы полагаться на чье-то мнение об их варианте использования, не стесняйтесь размещать свой вариант использования в списке rabbitmq-Discussion. Если вы спросите в твиттере, вы тоже получите ответы. С наилучшими пожеланиями, Алексис

0
ответ дан 22 November 2019 в 21:49
поделиться

Здесь есть сравнение RabbitMQ и ActiveMQ . По умолчанию ActiveMQ настроен так, чтобы гарантировать доставку сообщений, что может создать впечатление медленности по сравнению с менее надежными системами обмена сообщениями. Вы всегда можете изменить конфигурацию для повышения производительности, если хотите, и получить по крайней мере такую ​​же хорошую производительность, как и любая другая система обмена сообщениями. По крайней мере, у вас есть такая возможность. На форумах и в FAQ по ActiveMQ есть много информации по настройке масштабирования, производительности и высокой доступности. Кроме того, ActiveMQ будет поддерживать AMQP 1.0, когда спецификация будет завершена, вместе с другими форматами проводов, такими как STOMP.

Еще одним плюсом для ActiveMQ является его проект Apache, поэтому в сообществе разработчиков существует разнообразие - и он не привязан к одному компания

34
ответ дан 22 November 2019 в 21:49
поделиться

Я могу добавить только 2 цента на ActiveMQ, но поскольку это один из самых популярных:

Язык, на котором вы хотите запись может быть важной. Хотя у ActiveMQ есть клиент для большинства, их реализация на C # далека от завершения по сравнению с библиотекой Java.

Это означает, что некоторые базовые функции нестабильны (протокол переключения при отказе, который ... ну ... в некоторых случаях дает сбой, нет поддержки при повторной доставке), а других просто нет. Поскольку .NET, похоже, не так уж важен для проекта, разработка идет довольно медленно, и, похоже, нет никакого плана выпуска. Багажник часто ломается, поэтому, если вы все же учитываете это, вы можете подумать о внесении вклада в проект, если хотите, чтобы дела шли вперед.

Кроме того, есть сам ActiveMQ, который имеет много хороших функций, но также есть некоторые очень странные проблемы. Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET
вы можете подумать об участии в проекте, если хотите, чтобы дела шли вперед.

Кроме того, есть сам ActiveMQ, который имеет много хороших функций, но также есть некоторые очень странные проблемы. Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET
вы можете подумать об участии в проекте, если хотите, чтобы дела шли вперед.

Кроме того, есть сам ActiveMQ, который имеет много хороших функций, но также есть некоторые очень странные проблемы. Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET

Кроме того, есть сам ActiveMQ, который имеет много хороших функций, но также есть некоторые очень странные проблемы. Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET

Кроме того, есть сам ActiveMQ, который имеет много хороших функций, но также есть некоторые очень странные проблемы. Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET
Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения.
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET
Мы используем версию activemq Fuse (Progress) из соображений стабильности, но даже в этом случае есть пара странных «ошибок», о которых вы должны помнить:

  • Брокеры, которые в некоторых случаях перестают отправлять сообщения
  • Журнал делает ошибки в очереди отображаются сообщения, которых больше нет (они не доставляются потребителю, но все же)
  • Приоритет все еще не реализован (находится в списке проблем с момента появления человеческого рода)
  • и т. д. и т.д.

В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

A) не боитесь активно участвовать при использовании .NET
доставляются потребителю, но все же)

  • Приоритет все еще не реализован (находится в списке проблем с самого начала человеческого рода)
  • и т. д. и т.д.
  • В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

    A) не боитесь активно участвовать при использовании .NET
    доставляются потребителю, но все же)

  • Приоритет все еще не реализован (находится в списке проблем с самого начала человеческого рода)
  • и т. д. и т.д.
  • В целом, это довольно хороший продукт, ЕСЛИ вы можете жить с его проблемами:

    A) не боитесь активно участвовать при использовании .NET
    Б) разработка на java; -)

    10
    ответ дан 22 November 2019 в 21:49
    поделиться

    Изменить: В моем первоначальном ответе большое внимание уделялось AMQP. Я решил переписать его, чтобы предложить более широкий взгляд на тему.

    Эти 3 технологии обмена сообщениями имеют разные подходы к построению распределенных систем:

    RabbitMQ - одна из ведущих реализаций протокола AMQP (наряду с Apache Qpid). Таким образом, он реализует архитектуру брокера, что означает, что сообщения ставятся в очередь на центральном узле перед отправкой клиентам. Такой подход делает RabbitMQ очень простым в использовании и развертывании, поскольку расширенные сценарии, такие как маршрутизация, балансировка нагрузки или постоянная очередь сообщений, поддерживаются всего в нескольких строках кода. Однако это также делает его менее масштабируемым и «медленным», поскольку центральный узел увеличивает задержку, а конверты сообщений довольно большие.

    ZeroMq - это очень легкая система обмена сообщениями, специально разработанная для сценариев с высокой пропускной способностью / низкой задержкой, подобных тем, которые можно найти в финансовом мире. Zmq поддерживает множество сложных сценариев обмена сообщениями, но, в отличие от RabbitMQ, вам придется реализовать большинство из них самостоятельно, комбинируя различные части фреймворка (например, сокеты и устройства). Zmq очень гибкий, но вам придется изучить 80 страниц или около того руководства (которое я рекомендую прочитать всем, кто пишет распределенную систему, даже если вы не используете Zmq), прежде чем сможете сделать что-либо более сложное, чем отправка сообщений между двумя узлами.

    ActiveMQ находится на среднем уровне. Как и Zmq, его можно развернуть как с брокерской, так и с P2P топологиями. Как и RabbitMQ, легче реализовать сложные сценарии, но обычно за счет чистой производительности. Это швейцарский армейский нож обмена сообщениями: -).

    Наконец, все 3 продукта:

    • имеют клиентский API для наиболее распространенных языков (C ++, Java, .Net, Python, Php, Ruby,…)
    • имеют сильную документацию
    • активно поддерживаются
    342
    ответ дан 22 November 2019 в 21:49
    поделиться

    О ZeroMQ, также известный как 0MQ, как вы, возможно, уже знаете, это тот, который доставит вам наибольшее количество сообщений в секунду (их было около 4 миллионов в секунду на их сервере ссылок в прошлый раз, когда я проверял), но, как вы, возможно, уже знаете, документация не существует. Вам будет сложно найти, как запустить сервер (ы), не говоря уже о том, как их использовать. Полагаю, отчасти поэтому никто еще не внес около 0MQ.

    Удачи!

    0
    ответ дан 22 November 2019 в 21:49
    поделиться

    Немногие приложения имеют столько конфигураций настройки, как ActiveMQ. Некоторые особенности, которые выделяют ActiveMQ, следующие:

    Настраиваемый размер предварительной выборки. Настраиваемая многопоточность. Настраиваемый обход отказа. Настраиваемое административное уведомление производителей. ... подробности по адресу:

    http://activemq.net/blog http://activemq.apache.org

    5
    ответ дан 22 November 2019 в 21:49
    поделиться

    Я использую zeroMQ. Мне нужна была простая система передачи сообщений, и мне не нужны сложности брокера. Мне также не нужна огромная корпоративная система, ориентированная на Java.

    Если вам нужна быстрая и простая система и вам нужно поддерживать несколько языков (я использую C и .net), я бы рекомендовал взглянуть на 0MQ.

    14
    ответ дан 22 November 2019 в 21:49
    поделиться

    Если вас также интересуют коммерческие реализации, вам следует взглянуть на Nirvana из my-channels .

    Nirvana широко используется в сфере финансовых услуг для крупномасштабных платформ для торговли и распределения цен с малой задержкой.

    Существует поддержка широкого спектра клиентских языков программирования для предприятий, Интернета и мобильных устройств.

    Возможности кластеризации чрезвычайно продвинуты и заслуживают внимания, если для вас важны прозрачная высокая доступность или балансировка нагрузки.

    Nirvana можно загрузить бесплатно в целях разработки.

    0
    ответ дан 22 November 2019 в 21:49
    поделиться

    ZeroMQ действительно с нулевыми очередями! Это действительно ошибка! В нем нет очередей, тем, настойчивости, ничего! Это всего лишь промежуточное ПО для API сокетов. Если это то, что ты выглядишь круто! иначе забудьте об этом! это не похоже на activeMQ или rabbitmq.

    8
    ответ дан 22 November 2019 в 21:49
    поделиться

    Сравнение возможностей и производительности RabbitMQ ActiveMQ и QPID приведено на сайте
    http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/

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

    Обновление : HornetQ также является вариантом, который вы можете рассмотреть, это JMS Complaint, лучший вариант, чем ActiveMQ, если вы ищете решение на основе JMS.

    8
    ответ дан 22 November 2019 в 21:49
    поделиться

    Я не использовал ActiveMQ или RabbitMQ, но использовал ZeroMQ. Большая разница, как я вижу, между ZeroMQ и ActiveMQ и т. д.заключается в том, что 0MQ не имеет посредников и не имеет встроенной надежности доставки сообщений. Если вы ищете простой в использовании API для обмена сообщениями, поддерживающий множество шаблонов обмена сообщениями, транспортов, платформ и языковых привязок, то 0MQ определенно стоит вашего внимания. Если вы ищете полнофункциональную платформу для обмена сообщениями, то 0MQ может вам не подойти.

    См. www.zeromq.org/docs:cookbook для множества примеров использования 0MQ.

    Я успешно использую 0MQ для передачи сообщений в приложении для мониторинга потребления электроэнергии (см. http://rwscott.co.uk/2010/06/14/currentcost-envi-cc128-part-1/)

    22
    ответ дан 22 November 2019 в 21:49
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: