Nano Hash - криптовалюты, майнинг, программирование

ActiveMQ — стоимость создания временных очередей

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

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

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

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

В идеале очередь должна создаваться при необходимости и уничтожаться после завершения всех обновлений.

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

Я понимаю, что создание и удаление очередей требует затрат, но правильно ли я думаю, что стоимость создания и удаления этих очередей со скоростью, которая во время пика не будет превышать нескольких очередей в секунду, не будет не создавать проблемы с производительностью?

09.08.2018

Ответы:


1

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

Однако временные очереди имеют некоторые ограничения. Например, они удаляются после разрыва созданного соединения. Итак, если вы хотите, чтобы ваша работа возобновилась после перезагрузки системы, не полагайтесь на временные очереди. Я не советую динамически создавать обычные очереди со скоростью несколько раз в секунду. Система не предназначена для этого.

Как правило, при обработке группы связанных сообщений вы хотите использовать группы сообщений. . Таким образом, вы можете использовать одну очередь, которая не зависит от соединения производителя/создателя временной очереди.

10.08.2018
  • Вероятно, я неправильно использовал временное имя. Я имел в виду только то, что хочу удалить их через короткий промежуток времени. Они не могут быть временными очередями, которые удаляются при закрытии соединения. Я постараюсь использовать группы сообщений. 17.08.2018
  • Сказав это, возвращаясь к моему первоначальному вопросу, если я создам и удалю настоящие очереди (не временные), не приведет ли это к слишком большим затратам? 17.08.2018
  • Есть вещи, которые происходят при создании пунктов назначения. Подобно системе рекомендаций, в которой создается несколько тем для каждого пункта назначения, и сообщения отправляются, когда новые потребители/производители уходят/уходят, измерение статистики и т. д. С другой стороны, есть возможности отключить рекомендации и автоматически собирать мусор из неиспользуемых очередей. Это, опять же, не предполагаемый способ использования ActiveMQ, но вам может это сойти с рук. Ориентир - ваш пробег может отличаться. 17.08.2018
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..