187
5
장
마이크로서비스의 통신 구현
스에 대한 래퍼
wrapper
라고 믿게 만든다. 실제로 많은 사람이 그래프
QL
을 오데이터
OData
(데이터
베이스의 데이터에 액세스하기 위한 범용
API
로 설계된 기술이다 )와 비교하는 것을 본 적이
있다. 이미 자세히 설명했듯이, 마이크로서비스를 단지 데이터베이스를 감싼 것으로 취급하는
생각은 매우 큰 문제가 될 수 있다. 마이크로서비스는 네트워크로 연결된 인터페이스를 통해
기능을 노출한다. 해당 기능 중 일부는 노출된 데이터를 필요로 하거나 만들겠지만 여전히 고
유의 내부 로직과 동작이 있어야 한다. 그래프
QL
을 사용하고 있다고 해서 마이크로서비스를
데이터베이스의
API
에 불과하다고 생각하지 말라. 그래프
QL
API
가 마이크로서비스의 하부
데이터 저장소와 결합되지 않는 것이 중요하다.
적용 대상
그래프
QL
은 외부 클라이언트에 기능을 노출하는 시스템의 경계에서 사용하는 데 가장 적합하
다. 이러한 클라이언트는 일반적으로
GUI
이며, 최종 사용자에게 데이터를 표시하는 제한적인
기능과 모바일 네트워크의 특성 면에서 제약이 있는 모바일 장치에 확실히 적합하다. 하지만
그래프
QL
은 외부
API
에도 사용되는데, 깃허브
GitHub
는 그래프
QL
을 시도하는 ‘얼리어답터
early
adaptor
’다. 외부 클라이언트가 필요한 정보를 얻기 위해 여러 번 호출해야 하는 외부
API
가 있다
면 그래프
QL
은
API
를 훨씬 효율적이고 친숙하게 만드는 데 도움이 된다.
근본적으로 그래프
QL
은 호출 집계 및 필터링 메커니즘이므로 ...