chap00에서는 대부분의 흐름이 같은 애플리케이션 안에서 끝났다.
그래서 “다른 서비스를 호출한다”는 문제가 거의 없었다.
하지만 chap01에서는 서비스가 나뉘었기 때문에, 주문 서비스가 상품 서비스와 배송 서비스를 직접 HTTP로 호출해야 한다.
이 순간부터 구조 안으로 새로운 복잡도가 들어온다.

같은 애플리케이션 안의 메서드 호출은 기본적으로 같은 프로세스 안에서 일어난다.
반면 HTTP 호출은 전혀 다르다.
즉, 이제는 비즈니스 로직뿐 아니라 “호출 실패 가능성”도 설계의 일부가 된다.
chap00에서는 로그인과 인증이 같은 애플리케이션 안에 있었기 때문에 상대적으로 단순했다.
하지만 chap01에서는 주문 서비스가 다른 서비스를 호출할 때도 인증 정보가 함께 넘어가야 한다.
이 점은 RestClientConfig에서 드러난다.
String authorization = attributes.getRequest().getHeader("Authorization");
if (authorization != null) {
request.getHeaders().add("Authorization", authorization);
}
즉, 이제는 단순히 토큰이 있느냐 없느냐만이 아니라, 그 토큰을 서비스 간 호출에도 어떻게 전달할 것인지까지 고려해야 한다.