Я хотел бы настроить своих производителей ActiveMQ на аварийное переключение (я использую протокол Stomp), когда брокер достигает настроенного предела. Я хочу, чтобы потребители продолжали потреблять от перегруженного брокера, не ослабевая.
Читая документы ActiveMQ, похоже, что я могу настроить ActiveMQ для выполнения одной из нескольких вещей, когда брокер достигает своих пределов (память или диск):
- Замедлять сообщения с помощью
producerFlowControl="true"
(заблокировав отправку) - Генерировать исключения при использовании
sendFailIfNoSpace="true"
- Ничего из вышеперечисленного, в таком случае... Я не уверен, что происходит? Возврат к управлению потоком TCP?
Не похоже, что какие-либо из этих вещей предназначены для запуска аварийного переключения производителя. Производитель будет переключаться при сбое, когда ему не удается подключиться, но, насколько я могу судить, нет, когда ему не удается отправить (например, из-за управления потоком производителя).
Итак, могу ли я настроить брокера так, чтобы он отказывался от подключений, когда он достигает своих пределов? Или мне лучше всего обнаружить замедление на стороне производителя и вручную перенастроить моих производителей для использования другого брокера в это время?
Спасибо!