1.3. 부스터 프로젝트 빌드


이 지침에서는 Spring Boot에서 Fuse on Spring Boot를 사용하여 회로 차단기를 빌드하는 방법을 안내합니다.

사전 요구 사항

절차

  1. 쉘 프롬프트를 열고 Maven을 사용하여 명령줄에서 프로젝트를 빌드합니다.

    cd fuse-circuit-breaker
    mvn clean package

    Maven이 프로젝트를 빌드하면 Build Success (빌드 성공) 메시지가 표시됩니다.

  2. 다음과 같이 새 쉘 프롬프트를 열고 name 서비스를 시작합니다.

    cd name-service
    mvn spring-boot:run -DskipTests -Dserver.port=8081

    Spring Boot가 시작되면 다음과 유사한 출력이 표시됩니다.

    ...
    2019-05-06 20:19:59.401  INFO 9553 --- [           main] o.a.camel.spring.SpringCamelContext      : Route: route1 started and consuming from: servlet:/name?httpMethodRestrict=GET
    2019-05-06 20:19:59.402  INFO 9553 --- [           main] o.a.camel.spring.SpringCamelContext      : Total 1 routes, of which 1 are started
    2019-05-06 20:19:59.403  INFO 9553 --- [           main] o.a.camel.spring.SpringCamelContext      : Apache Camel 2.21.0.fuse-730078-redhat-00001 (CamelContext: camel-1) started in 0.287 seconds
    2019-05-06 20:19:59.406  INFO 9553 --- [           main] o.a.c.c.s.CamelHttpTransportServlet      : Initialized CamelHttpTransportServlet[name=CamelServlet, contextPath=]
    2019-05-06 20:19:59.473  INFO 9553 --- [           main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8081 (http)
    2019-05-06 20:19:59.479  INFO 9553 --- [           main] com.redhat.fuse.boosters.cb.Application  : Started Application in 5.485 seconds (JVM running for 9.841)
  3. 다음과 같이 새 쉘 프롬프트를 열고 인사말 서비스를 시작합니다.

    cd greetings-service
    mvn spring-boot:run -DskipTests

    Spring Boot가 시작되면 다음과 유사한 출력이 표시됩니다.

    ...
    2019-05-06 20:22:19.051  INFO 9729 --- [           main] o.a.c.c.s.CamelHttpTransportServlet      : Initialized CamelHttpTransportServlet[name=CamelServlet, contextPath=]
    2019-05-06 20:22:19.115  INFO 9729 --- [           main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http)
    2019-05-06 20:22:19.123  INFO 9729 --- [           main] com.redhat.fuse.boosters.cb.Application  : Started Application in 7.68 seconds (JVM running for 12.66)

    인사말 서비스는 http://localhost:8080/camel/greetings URL에 REST 끝점을 노출합니다.

  4. 웹 브라우저에서 URL을 열거나 다른 쉘 프롬프트를 열고 다음 curl 명령을 입력하여 REST 끝점을 호출합니다.

    curl http://localhost:8080/camel/greetings

    응답은 다음과 같습니다.

    {"greetings":"Hello, Jacopo"}
  5. Camel Hystrix에서 제공하는 회로 차단기 기능을 설명하기 위해 이름 서비스가 실행 중인 쉘 프롬프트 창에서 Ctrl-C 를 입력하여 백엔드 이름 서비스를 종료합니다.

    이제 이름 서비스를 사용할 수 없으므로 회로 차단기가 시작되어 인사말 서비스가 호출될 때 중단되지 않도록 합니다.

  6. 웹 브라우저에서 http://localhost:8080/camel/greetings 를 열거나 다른 쉘 프롬프트 창에 다음 curl 명령을 입력하여 인사말 REST 끝점을 호출합니다.

    curl http://localhost:8080/camel/greetings

    응답은 다음과 같습니다.

    {"greetings":"Hello, default fallback"}

    인사말 서비스가 실행 중인 창에서 로그에 다음과 같은 메시지 시퀀스가 표시됩니다.

    2019-05-06 20:24:16.952  INFO 9729 --- [-CamelHystrix-2] route2                                   :  Try to call name Service
    2019-05-06 20:24:16.956  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : I/O exception (java.net.ConnectException) caught when processing request: Connection refused (Connection refused)
    2019-05-06 20:24:16.956  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : Retrying request
    2019-05-06 20:24:16.957  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : I/O exception (java.net.ConnectException) caught when processing request: Connection refused (Connection refused)
    2019-05-06 20:24:16.957  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : Retrying request
    2019-05-06 20:24:16.957  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : I/O exception (java.net.ConnectException) caught when processing request: Connection refused (Connection refused)
    2019-05-06 20:24:16.957  INFO 9729 --- [-CamelHystrix-2] o.a.c.httpclient.HttpMethodDirector      : Retrying request
    2019-05-06 20:24:16.964  INFO 9729 --- [-CamelHystrix-2] route2                                   :  We are falling back!!!!
  7. 이 예제에 대한 자세한 내용은 http://localhost:8080/ 에서 Circuit Breaker - Red Hat Fuse 페이지를 엽니다. 이 페이지에는 회로 차단기의 상태를 모니터링하는 Hystrix 대시보드에 대한 링크가 포함되어 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.