Как добавить балансировку нагрузки для компонента http4 в Apache Camel. Для проверки кода компонента http4 ниже - PullRequest
0 голосов
/ 02 мая 2018

Для проверки кода компонента http4 ниже.

rules.getRules().forEach(x->{
            from("jetty:http://0.0.0.0:"+rules.getPort()+"/"+x.getFrom()+"??matchOnUriPrefix=true")
            .to("http4://"+x.getTo()+"?bridgeEndpoint=true&throwExceptionOnFailure=false");
            System.out.println(“Ieration Route:  ”+x);});

Пожалуйста, проверьте пример маршрутизации ниже (значение X)

Ieration Route:  {"RouteRule":{ "from":"posts", "to":"jsonplaceholder.typicode.com/posts/?"}}
Ieration Route:  {"RouteRule":{ "from":"users", "to":"reqres.in/api/users"}}
Ieration Route:  {"RouteRule":{ "from":"countries", "to":"restcountries.eu/rest/v2/"}}

Файл Application.yml

routes:
  port: 8088
  route:
    -
      from: posts
      to: jsonplaceholder.typicode.com/posts/?
    -
      from: users
      to: reqres.in/api/users
    -
      from: countries
      to: restcountries.eu/rest/v2/

Где мы можем добавить несколько серверов в приведенном выше сценарии? в конфигурации файла yml, если да, то как мы можем это добавить.

ценит вашу помощь.

Спасибо

1 Ответ

0 голосов
/ 02 мая 2018

Согласно верблюжьему документу The Load Balancer Pattern allows you to delegate to one of a number of endpoints using a variety of different load balancing policies Компонент camel-urlrewrite позволит вам подключить механизм перезаписи URL.

Этот балансировщик нагрузки при сбое можно настроить следующим образом:

from("jetty:http://{host}:{{port}}/{context_1}?matchOnUriPrefix=true")
.loadBalance().failover(Exception.class)
.to("jetty:http://{host}:{{port2}}/context_2?bridgeEndpoint=true&urlRewrite=#myRewrite")
.to("jetty:http://{host}:{{port2}}/{other_context}?bridgeEndpoint=true&urlRewrite=#myRewrite");

Подробный код можно найти здесь: https://github.com/apache/camel/tree/master/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite

* Этот компонент требует, чтобы ваши маршруты Camel начинались с конечной точки на основе сервлета, такой как Jetty и т. Д., Которая уже есть в вашем коде.

Похожие документы Camel Doc @ http://camel.apache.org/load-balancer.html

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