282장. 리본 구성 요소

Camel 버전 2.18로 사용 가능

리본 구성 요소는 클라이언트 측면의 로드 밸런싱을 위해 넷플릭스 리본을 사용할 수 있습니다.

Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-ribbon</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

이 구성 요소는 ServiceCall EIP 를 사용할 때 클라이언트 측에 로드 밸런싱 기능을 적용하는 데 도움이 됩니다.

282.1. 설정

  • programmatic

    RibbonConfiguration configuration = new RibbonConfiguration();
    configuration.addProperties("ServerListRefreshInterval", "250");
    
    RibbonLoadBalancer loadBalancer = new RibbonLoadBalancer(configuration);
    
    from("direct:start")
        .serviceCall()
            .name("myService")
            .loadBalancer(loadBalancer)
            .consulServiceDiscovery()
            .end()
        .to("mock:result");
  • Spring Boot

    application.properties

    camel.cloud.ribbon.properties[ServerListRefreshInterval] = 250

    routes

    from("direct:start")
        .serviceCall()
            .name("myService")
            .ribbonLoadBalancer()
            .consulServiceDiscovery()
            .end()
        .to("mock:result");

  • XML

    <route>
        <from uri="direct:start"/>
        <serviceCall name="myService">
            <!-- enable ribbon load balancer -->
            <ribbonLoadBalancer>
                <properties key="ServerListRefreshInterval" value="250"/>
            </ribbonLoadBalancer>
        </serviceCall>
    </route>