2장. Fuse 부스터 사용
Red Hat Fuse는 Fuse 애플리케이션을 시작하고 유용한 구성 요소를 증명할 수 있도록 다음과 같은 부스터를 제공합니다.
- 2.2절. “Circuit Breaker booster를 빌드하고 실행합니다.” - 분산 애플리케이션이 네트워크 연결에 대한 중단 및 백엔드 서비스를 일시적으로 사용할 수 없도록 하는 예는 다음과 같습니다.
- 2.3절. “Externalized Configuration booster 빌드 및 실행” - Apache Camel 경로에 대한 구성을 외부화하는 방법의 예입니다.
- 2.4절. “REST API booster 빌드 및 실행” - HTTP 프로토콜을 사용하여 원격(Apache Camel에서 노출) 서비스와 상호 작용하는 메커니즘을 도입하는 예입니다.
부스터 데모를 빌드하고 실행하려면 다음 사전 요구 사항을 설치합니다.
2.1. 부스터 프로젝트 생성
개발자가 독립 실행형 애플리케이션을 실행할 수 있도록 Fuse booster 프로젝트가 있습니다. 여기에 제공된 지침은 부스터 프로젝트 인 회로 차단기 부스터 중 하나를 생성하는 방법을 안내합니다. 이 실습에서는 Spring Boot에서 Fuse의 유용한 구성 요소를 보여줍니다.
넷플릭스/Hystrix 회로 차단기를 사용하면 분산 애플리케이션이 네트워크 연결 및 백엔드 서비스의 임시 사용할 수 없는 중단을 처리할 수 있습니다. 회로 차단기 패턴의 기본 개념은 종속 서비스의 손실이 자동으로 감지되고 백엔드 서비스를 일시적으로 사용할 수 없는 경우 대체 동작이 프로그램될 수 있다는 것입니다.
Fuse 회로 차단기 부스터는 두 가지 관련 서비스로 구성됩니다.
-
이름
서비스인 백엔드 서비스는 이름을 Cryostat로 반환합니다. -
인사말
서비스인 frontend 서비스는name
서비스를 호출하여 이름을 가져온 다음 문자열Hello, NAME
을 반환합니다.
이 부스터 데모에서 Hystrix 회로 차단기는 인사말
서비스와 이름
서비스 사이에 삽입됩니다. 백엔드 이름
서비스를 사용할 수 없게 되면 인사말
서비스가 대체 동작으로 대체되고, 이름
서비스가 재시작될 때까지 기다리는 동안 차단되는 대신 즉시 클라이언트에 응답할 수 있습니다.
사전 요구 사항
- Red Hat Developer Platform 에 액세스할 수 있어야 합니다.
- 지원되는 JDK(Java Developer Kit) 버전이 있어야 합니다. 자세한 내용은 지원되는 구성 페이지를 참조하십시오.
- Maven 설정에 설명된 대로 Apache Maven 3.3.x 이상을 설치하고 구성해야 합니다. https://access.redhat.com/documentation/en-us/red_hat_fuse/7.13/html-single/getting_started_with_fuse_on_spring_boot#set-up-maven-locally
프로세스
- https://developers.redhat.com/launch 로 이동합니다.
START 를 클릭합니다.
시작 관리자 마법사에서 Red Hat 계정에 로그인하라는 메시지가 표시됩니다.
- 로그인 또는 등록 버튼을 클릭한 다음 로그인합니다.
- 시작 관리자 페이지에서 예제 애플리케이션 배포 버튼을 클릭합니다.
- Create Example Application 페이지에서 Create Example Application에 name, fuse-circuit-breaker 를 입력합니다.
- Select an Example 을 클릭합니다.
예제 대화 상자에서 회로 차단기 옵션을 선택합니다. 런타임 선택 드롭다운 메뉴가 표시됩니다.
- Select a Runtime 드롭다운에서 Fuse 를 선택합니다.
-
버전 드롭다운 메뉴에서 7.13(Red Hat Fuse) 을 선택합니다(
2.21.2(Community)
버전을 선택하지 마십시오. - 저장을 클릭합니다.
- 예제 애플리케이션 생성 페이지에서 다운로드를 클릭합니다.
-
애플리케이션 준비 상태 대화 상자가 표시되면
Download.zip
을 클릭합니다. 브라우저에서 생성된 booster 프로젝트를 다운로드합니다( ZIP 파일로 패키징됨). - 아카이브 유틸리티를 사용하여 생성된 프로젝트를 로컬 파일 시스템의 편리한 위치로 추출합니다.