У меня есть верблюжий маршрут, который будет регулироваться при получении большого количества сообщений. Предположим, что максимальный обмен, который я определил, составляет 3 обмена в 2 секунды, и маршрут получает больше, чем предел, который я хочу перенаправить эти сообщения на какой-либо другой маршрут балансировщика нагрузки. Может ли кто-нибудь помочь мне, как этого достичь ??
Верблюд перенаправляется на другой маршрут при дросселировании
comment
Может быть, вы можете изменить свой маршрут и использовать балансировку нагрузки перед дросселированием?
- person soilworker   schedule 27.05.2015
Ответы (1)
Если я правильно понимаю ваш вопрос, вы хотите ограничить входящие сообщения, а затем сбалансировать нагрузку этих сообщений на другой маршрут или систему.
from("SomethingSendingMeMessages")
.throttle(3)
.loadbalance().roundRobin()
.to("place1", "place2", "place3")
.end();
Если вам нужно, чтобы маршрут регулирования был отправлен на второй маршрут, содержащий балансировщик нагрузки, вы можете сделать это следующим образом:
from("SomethingSendingMeMessages")
.throttle(3)
.to("direct:mySecondRoute");
from("direct:mySecondRoute")
.loadbalance().roundRobin()
.to("place1", "place2", "place3")
.end();
Другой вариант, который вы можете изучить, — это регулирование после балансировщика нагрузки для управления методом каждого отдельного маршрута.
from("SomethingSendingMeMessages")
.loadbalance().roundRobin()
.to("direct:place1", "direct:place2")
.end();
from("direct:place1")
.throttle(3)
.to("myOtherWork");
from("direct:place2")
.throttle(3)
.to("myOtherWork");
person
Matthew Fontana
schedule
27.05.2015