일반적으로 서비스는 데이터에 액세스해야 할 때 다른 서비스를 호출합니다. 각 데이터는 특정 서비스에 속해야하며이 서비스는이 데이터에 액세스하고 수정하는 유일한 진입 점이됩니다. 일부 서비스는 단순하며 일반적으로 도메인 모델 (예 : 사용자 처리 서비스)과 밀접하게 일치하는 반면, 다른 서비스는 고급 서비스이며 다른 서비스의 데이터를 사용합니다 (예 : 업로드 한 사용자에 대한 정보와 함께 사진 목록 표시) ).
유스 케이스에서는 외부에서 시작하여 API를 통해 사용자에게 제공 할 오퍼레이션 (백엔드 서비스 인 경우) 또는 GUI (웹 애플리케이션 인 경우)에서 사용할 수있는 오퍼레이션을 생각해야합니다. GUI 부분은 종종 자체 컨트롤러가있는 일반 응용 프로그램입니다. AngularJS와 같이 REST를 통해 작업을 호출 할 수 있지만 이러한 엔드 포인트는 GUI 응용 프로그램의 용도로만 사용되며 일반적인 의미로는 마이크로 서비스가 아닙니다.
업 로더에 대한 정보와 함께 사진을 표시한다고 가정합니다. 사용자 ID가 주어진 사용자에 대한 정보와 사진을 나열 할 수있는 사진 서비스 (예 : 일부 기준으로 검색)를 반환하는 사용자 서비스가있을 수 있습니다. 사진 목록에는 각 사진마다 업로드하는 사용자의 ID가 포함됩니다. 이러한 방식으로이 두 서비스는 서로 연결되지 않습니다. 사진 서비스는 사용자 ID 만 알고 있으며 사용자 데이터 자체는 아는 것이 없습니다. 이 두 가지 서비스 외에 "업 로더에 대한 정보가 포함 된 사진 목록"과 같은 작업을 통해 세 번째 서비스를 만들어 다른 두 서비스를 호출하고 이들이 반환하는 데이터를 결합 할 수 있습니다. 또는이 작업은 서비스 대신 웹 응용 프로그램에서 수행 할 수 있습니다.