더북(TheBook)

엔드포인트 이름이 중요하다

마이크로서비스 작성을 본격적으로 진행하기 전에 여러분(아니면 조직 내 다른 팀)은 서비스가 노출하는 엔드포인트에 대한 표준을 수립했는지 확인해야 한다. 마이크로서비스의 URL(Uniform Resource Locator)은 서비스 의도, 서비스가 관리하는 리소스, 서비스 안에서 관리되는 리소스 간 관계를 명확히 커뮤니케이션하는 데 사용해야 한다. 필자는 서비스 엔드포인트를 명명(naming)하는 데 다음 지침을 발견했다.

서비스가 표현하는 리소스에 명확한 URL 이름을 사용하라: URL을 정의하는 데 표준 형식을 사용하면 API의 직관성과 사용 편의성이 향상된다. 따라서 일관된 명명 규칙을 사용하라.

URL을 사용해서 리소스 간 관계를 설정하라: 대개 마이크로서비스 내 리소스 사이에는 부모-자식 관계가 생긴다. 이 관계에서 자식 리소스는 부모 리소스의 컨텍스트 밖에는 존재하지 않는다. 따라서 자식 리소스를 위한 별도의 마이크로서비스는 없을 것이다. 이러한 관계를 표현하는 데 URL을 사용하라. 여러분의 URL이 길고 중첩되어 있다면 마이크로서비스가 너무 많은 일을 하고 있는 것일 수 있다.

URL 버전 체계를 일찍 세워라: URL과 엔드포인트는 서비스 소유자와 서비스 소비자 간 계약을 의미한다. 일반적 패턴 중 하나는 모든 엔드포인트 앞에 버전 번호를 붙이는 것이다. 조기에 버전 체계를 수립하고 준수하자. 소비자가 URL을 이미 사용한 후에 URL 버전 체계(예를 들어 URL 매핑에서 /v1/을 사용)를 개량하는 것은 매우 어려운 일이다.

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