зачем использовать rabbitmq или аналогичную многопроцессорную очередь на Python? - PullRequest
1 голос
/ 18 июня 2019

У меня есть производитель задач и несколько рабочих для их использования.Во многих местах рекомендуют кролика и / или сельдерея.Тем не менее, Python имеет встроенную многопроцессорную очередь, которая может быть разделена на ip / port с помощью manager / proxy.Каковы будут преимущества использования чего-то вроде rabbitmq вместо этого?

1 Ответ

1 голос
/ 18 июня 2019

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

  • Кролик имеет надежный обмен сообщениями в качестве цели- например, сообщения сохраняются, и узлы в кластере могут быть перезапущены без потери сообщений.
  • Поддерживает широкий диапазон топологий обмена сообщениями , таких как Point-Point, Fan out и подписки Topic
  • Может масштабироваться для объема путем добавления нескольких узлов в кластер.
  • Позволяет для условной маршрутизации сообщений в очереди с использованием ключей маршрутизации или фильтров заголовка
  • Диагностика клиентской технологии, т.е.Клиенты могут быть на любой платформе, поддерживающей протокол AMQP
  • Имеет встроенный интерфейс администрирования, мониторинга и диагностики
  • Имеет широкий спектр расширений и инструментов, таких как shovels разрешение репликации сообщений в нескольких кластерах RabbitMQ.

Я не Пиэксперт, но из того, что я понимаю о многопроцессорном пакете , он служит в качестве менеджера для распределения работы между рабочими процессами и потоками, поэтому IMO будет рассматриваться как более локальная проблема системы, а не «предприятие».уровень.например, вам нужно обрабатывать постоянство , т. е. чтобы сообщения не терялись при сбое / перезапуске, и вам, вероятно, понадобится создать собственные инструменты администрирования и мониторинга.

...