Programming/기타

Graph QL이란

armyost 2022. 6. 22. 12:19
728x90

이제 API서버가 단순히 데이터 호출이라면 GraphQL로 대체될거 같다.. 어째 점점 개발이라는게 컨피규레이션으로 다 만들수있게 변해가는거 같음..

 

GraphQL이란 API개발의 프레임워크인데, 서버/클라이언트의 Endpoint 언어와 무관하게 개발할 수 있다. 서술적이며 자체 문서화 방식의 프레임워크라고 보면된다. 그리고 Endpoint의 통신을 해소해줄 뿐만아니라 SQL에 대한 비종속적인 쿼리까지 가능하다...(JPA는 Java라도 Dependency가 있는데...)

EndPoint Gateway를 언어로 개발하는게아니라 GraphQL 모듈설정만 하면 된다.

쿼리/뮤테이션(query/mutation) 이란 건 그냥 용어만 굳이 나눈것. 프로그래밍 상에서는 두드러진 차이가 없다.

쿼리는 R 뮤테이션은 CUD 를 뜻함

 

NoSQL도 가능?

GraphQL API에서는 GraphQL 해석기를 통해 데이터가 반환됩니다. 이는 데이터 원본을 호출하거나 일부 값(개별 레코드 또는 레코드 목록)을 반환하는 트리거를 호출하는 기능입니다. 해석기에는 NoSQL 데이터베이스, 관계형 데이터베이스 또는 검색 엔진 등과 같은 여러 가지 유형의 데이터 원본이 있을 수 있습니다. 여러 데이터 원본의 데이터를 집계해 필요에 따라 동일한 형식, 혼합 형식 및 일치하는 형식을 반환할 수 있습니다.

 

동기/비동기 호출도 구현가능?

async, await 등으로 구현이 가능하다.

 

→ 처리량이 많지 않을때는 GraphQL

→ 처리량이 많을때는 kafka

로 개발하자.