더북(TheBook)

2.1.3 서비스 사이의 대화: 서비스 인터페이스

아키텍트가 제공할 마지막 부분은 애플리케이션의 마이크로서비스가 대화하는 방식을 정의하는 것이다. 마이크로서비스를 사용해 비즈니스 로직을 만든다면 서비스 인터페이스는 직관적이고, 개발자가 1~2개의 애플리케이션 서비스를 학습하고 나면 애플리케이션의 모든 서비스에 대한 동작 규칙을 습득할 수 있어야 한다.

일반적으로 서비스 인터페이스 설계를 고려할 때 다음 지침을 사용할 수 있다.

1. REST 철학을 수용하라: 서비스에 대한 REST 방식은 서비스의 호출 프로토콜로 HTTP를 수용하고 표준 HTTP 동사(GET, PUT, POST, DELETE)를 사용하는 것이 핵심이다. HTTP 동사를 기반으로 기본 행동 양식을 모델링한다.

2. URI를 사용해 의도(intent)를 전달하라: 서비스의 엔드포인트로 사용되는 URI는 문제 영역에 존재하는 다양한 자원을 기술하고 자원 관계에 대한 기본 메커니즘을 제공해야 한다.

3. 요청(request)과 응답(response)에 JSON을 사용하라: JSON은 초경량 데이터 직렬화 프로토콜이며 XML보다 훨씬 사용하기 쉽다.

4. HTTP 상태 코드로 결과를 전달하라: HTTP 프로토콜에는 서비스의 성공과 실패를 명시하는 풍부한 표준 응답 코드가 있다. 상태 코드를 익히고 모든 서비스에 일관되게 사용하는 것이 매우 중요하다.

모든 기본 지침은 서비스 인터페이스를 쉽게 이해하고 소비할 수 있게 만드는 것을 추구한다. 여러분은 개발자가 관심을 갖고 서비스 인터페이스를 살펴보고 바로 사용하길 원한다. 마이크로서비스가 사용하기 쉽지 않다면 개발자는 아키텍처의 본래 의도를 회피하고 와해하려고 할 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.