|
git checkout tags/step-3-ribbon-retry -b step-3-ribbon-retry |
1. [display] build.gradle에 dependency 추가
compile('org.springframework.cloud:spring-cloud-starter-netflix-ribbon') compile('org.springframework.retry:spring-retry:1.2.2.RELEASE') |
2. [display] DisplayApplication의 RestTemplate 빈에 @LoadBalanced 추가
@LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } |
3. [display] ProductRemoteServiceImpl에서 주소 제거하고 `product` 로 변경
public class ProductRemoteServiceImpl implements ProductRemoteService { //private static final String url = "http://localhost:8082/products/"; private static final String url = "http://product/products/"; private final RestTemplate restTemplate; } |
4. [display] application.yml에 ribbon 설정 넣기
product: ribbon: listOfServers: localhost:7777, localhost:8082 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 |
5. 실행결과
|
6. 정리
- Ribbon은 여러 Component에 내장되어있으며, 이를 통해 Client Load Balancing이 수행 가능하다. |