더북(TheBook)

3.1.1 상호 작용 스타일

서비스 API에 알맞은 IPC를 선택하기 전에 클라이언트/서비스 간 상호 작용 스타일을 잘 살펴보면, 요건에서 벗어나는 일 없이 특정 IPC 기술의 세부 내용에 빠져 헤매는 일을 방지할 수 있습니다. 상호 작용 스타일의 선택은 전체 애플리케이션의 가용성에 영향을 끼치며(3.4절), 적합한 통합 테스트 전략을 수립하는 데에도 도움이 됩니다.

클라이언트/서비스 상호 작용 스타일은 다양하지만 두 가지 기준으로 분류할 수 있습니다(표 3-1).

첫째, 일대일/일대다 여부입니다.

일대일(one-to-one): 각 클라이언트 요청은 정확히 한 서비스가 처리합니다.

일대다(one-to-many): 각 클라이언트 요청을 여러 서비스가 협동하여 처리합니다.

 

둘째, 동기/비동기 여부입니다.

동기(synchronous): 클라이언트는 서비스가 제시간에 응답하리라 기대하고 대기 도중 블로킹할 수 있습니다.

비동기(asynchronous): 클라이언트가 블로킹하지 않습니다. 응답은 즉시 전송되지 않아도 됩니다.

 

▼ 표 3-1 상호 작용은 일대일/일대다, 동기/비동기 여부에 따라 분류

서비스

작업

협동자

동기

요청/응답

-

비동기

비동기 요청/응답

단방향 알림

발행/구독

발행/비동기 응답

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