- 1장에서는 API를 설계하고 구현하는 여러 가지 방법을 살펴봄
- REST와 RPC를 이용해 사례 연구의 생산자와 소비자 관계를 모델링해 봄
- 여러 표준을 이용해 설게와 관련된 의사결정을 빠르게 내리고 잠재적인 호환성 문제를 해결하는 방법을 알아봄
- OpenAPI 명세, 팀 내에서 실질적으로 활용하는 방법, 버저닝의 중요성에 대해서도 알아봄
RPC 기반의 상호작용은 스키마를 이용해 정의함.
- 이 책에서는 gRPC를 활용해 RPC 기반 방식과 REST 기반 방식을 비교해봄
- REST 방식과 gRPC 방식의 데이터 교환을 모델링하기 위해 각자 고려해야 할 여러 가지 요소에 대해 살펴볼 것
- 또한 같은 서비스에서 REST와 RPC API를 모두 지원할 수 있는 가능성과 그 당위성에 대해서도 알아봄
사례 연구: 참석자 API의 설계
앞에서 레거시 컨퍼런스 시스템을 API 주도 아키텍처로 마이그레이션하기로 결정함.
- 마이그레이션의 첫 단계로 참석자 API를 제공할 참석자 서비스를 새로 구현해야 함.
- 또한 API에 대한 간략한 정의도 살펴봄
- API를 효과적으로 설계하려면 생산자와 소비자 사이의 데이터 교환을 더 폭럾게 고려해야 하며, 무엇보다도 누가 생산자이고 소비자인지를 결정해야함
- 생산자는 참석자 팀이 담당하는데, 이팀은 2개의 핵심 관계를 관리함
- 참석자 팀은 생산자를 담당하며 레거시 컨퍼런스 팀은 소비자를 담당함. 이 두 팀 사이에는 밀접한 관계가 있으며 구조상의 변경을 쉽게 조율할 수 있음. 생산자와 소비자 서비스 간의 강한 응집도 구현할 수 있음
- 참석자 팀은 생산자를 담당하며 외부 CFP 시스템은 소비자를 담당함. 두 팀은 서로 연관은 있지만 두 시스템의 통합을 유지하기 위해 어떤 변경이든 조율이 필요함. 느슨한 결합이 필요하며 단절적 변화는 중의해서 관리해야 함
이번 장에서는 참석자 API를 설계하고 구현하는 방법을 비교해볼 것