Вопрос

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

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

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

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

Я искал более активную сторону от стороны Exchange Entity, которая решила, где отправить следующее сообщение на основе каждого размера очереди или что-то в этом природе.

Я читал о Алисе и доступных reзов API, но это кажется видом тяжелого решения для реализации быстрого маршрутизации решений.

Кто-нибудь знает, если круглый робин между биржевым очередями возможен W / Rabbitmq тогда? Спасибо.

Это было полезно?

Решение

Обмены, как правило, вообще нестабильные в модели AMQP, хотя в настоящее время были некоторые недавние эксперименты в госсекретных биржах, когда есть как система управления плагинами Rabbitmq и для предоставления новых типов экспериментальных обмен.

Нет ничего, что делает вполне то, что вы хотите, я не думаю, хотя я не совсем уверен, что понимаю требование. Помимо единственной точки отказа, имел бы одну очередь с чтением рабочих от него решают вашу проблему? Если это так, то ваша проблема уменьшается для настройки rabbitmq в конфигурации HA, которая позволяет вам использовать это решение. Существует пару подходов для этого: либо используйте Halinux и общий магазин, чтобы получить активный / пассивный HA с быстрым отключением или установить более одного параллельного брокера и дедупликата на клиенте, возможно, используя Redis или подобное для этого.

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

Другие советы

Согласен с Тони на подходе.

Вот «Mashup» of Rabbitmq, Redis, который вы могли бы использовать вместо того, чтобы прокатитьсяhttp://xing.github.com/beetle/

Один построен в построенном виде, вы можете сделать форму обмена форм обмена на очередь, но не совсем круглый Робин, является последовательным хешированием. rabbitmq_consistent_hash_exchange

Как тожеhttps://medium.com/@eranda/rabbitmq-x-consistent-hashing-with-wso2-esb-27479b8d1d21.

Бумага, чтобы объяснить, она ставит очереди под взвешенным распределением на круг, а затем отправив ключ случайных маршрутизации, он отправит в ближайшую очередь.http://www8.org/w8-papers/2a-webserver/caching/appa2.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top