728x90
반응형

graphql 7

Schema Stitching

개요Schema Stitching은 여러 개의 GraphQL 스키마를 하나의 통합 스키마로 결합해 단일 GraphQL API를 제공하는 기술입니다. 마이크로서비스 아키텍처나 다양한 도메인 팀이 각각의 GraphQL 서비스를 운영하는 환경에서 유용하며, 클라이언트는 이를 통해 하나의 엔드포인트에서 통합 데이터를 요청할 수 있습니다.1. 개념 및 정의Schema Stitching은 GraphQL 서버 간 스키마와 리졸버를 결합(stitch)해 통합 API를 구성하는 기술입니다. GraphQL Federation과 유사하지만, 더 유연하게 커스텀 리졸버나 관계형 조합이 가능합니다.목적다양한 도메인의 GraphQL 서비스 통합API 게이트웨이로서 통합 데이터 접근 제공팀 단위 독립 배포 및 통합 운영 구현2. ..

Topic 2025.06.27

Apollo Contracts

개요Apollo Contracts는 Apollo GraphQL 생태계에서 클라이언트와 서버 간 데이터 계약(Contract)을 명시적으로 정의하고 검증하는 기능이다. 이는 GraphQL Federation 구조에서 각 서비스가 제공하는 필드를 기준으로 소비자(Consumer)와 공급자(Provider) 간의 정확한 연결 상태를 보장함으로써, 스키마 충돌, 의도치 않은 변경, 비호환성 문제를 예방할 수 있도록 설계되었다.1. 개념 및 정의Apollo Contracts는 클라이언트가 실제 사용하는 GraphQL 필드, 쿼리, 타입을 기반으로 "사용 계약"을 생성하고, 서버에서는 해당 계약을 기준으로 스키마 유효성 검사를 수행한다. 이는 GraphQL Federation에서 서비스 간 분산 스키마를 사용할 때..

Topic 2025.06.22

GraphQL Contract Testing

개요GraphQL Contract Testing은 클라이언트와 서버 간의 데이터 요구 및 응답 구조가 예상대로 일치하는지를 검증하는 테스트 전략이다. 특히 마이크로서비스, 프론트엔드-백엔드 분리 구조에서 빈번한 API 변경에 대응하고, 회귀 오류를 사전에 방지하는 데 효과적이다. REST보다 더 유연한 쿼리를 제공하는 GraphQL의 특성상 Contract Testing은 더욱 중요하다.1. 개념 및 정의GraphQL Contract Testing은 GraphQL 쿼리와 서버 응답이 정의된 스키마(Contract)와 일치하는지를 확인하여, API 통합 오류를 미리 방지하는 테스트 기법이다. 이를 통해 클라이언트는 서버가 예상한 필드를 제공하는지, 서버는 클라이언트가 유효한 쿼리를 요청하는지를 사전에 검증..

Topic 2025.06.22

DataHub

개요DataHub는 LinkedIn이 개발하고 LF AI & Data 재단이 관리하는 오픈소스 메타데이터 플랫폼으로, 대규모 데이터 환경에서 실시간 메타데이터 수집, 검색, 계보(Lineage), 품질 추적을 가능하게 하는 현대적 데이터 거버넌스 솔루션이다. 마이크로서비스 아키텍처와 Kafka 기반의 실시간 이벤트 스트리밍을 통해 지속적으로 변화하는 데이터 환경에 민첩하게 대응할 수 있다.1. 개념 및 정의 항목 설명 정의실시간 메타데이터 수집, 탐색, 계보 분석, 품질 관리, 정책 기반 거버넌스를 지원하는 오픈소스 플랫폼개발 주체LinkedIn → LF AI & Data 오픈소스 커뮤니티 주도아키텍처Kafka + GraphQL + Neo4j(또는 Elasticsearch) 기반 메타데이터 처리 플랫폼..

Topic 2025.06.21

GraphQL Federation

개요GraphQL Federation은 여러 개의 독립된 GraphQL 마이크로서비스(Schema)를 하나의 통합된 GraphQL API로 조합해주는 아키텍처 방식입니다. 각 서비스가 자신의 스키마와 리졸버를 유지하면서, 통합 게이트웨이를 통해 마치 하나의 API처럼 외부에 제공할 수 있어 확장성과 유지보수성이 크게 향상됩니다. 이는 특히 대규모 분산 시스템에서 API 관리를 단순화하는 데 매우 효과적입니다.1. 개념 및 정의 항목 설명 비고 정의여러 GraphQL 마이크로서비스를 하나의 API로 통합하는 방안Apollo Federation이 대표 사례목적모놀리식 GraphQL 서버의 복잡성 해소 및 마이크로서비스 확장성 확보경량 API 게이트웨이 구현 가능필요성도메인별 독립 서비스 유지 + 클라이언..

Topic 2025.05.29

BFF(Backend-for-Frontend)

개요BFF(Backend-for-Frontend)는 프론트엔드 애플리케이션의 요구사항에 최적화된 백엔드 서비스를 별도로 제공하는 아키텍처 패턴이다. 이 접근법은 사용자 경험을 향상시키고, API 호출 최적화 및 개발 생산성 향상에 기여한다. 다양한 클라이언트 환경(웹, 모바일, IoT 등)에 맞춤형 API를 제공함으로써 복잡한 백엔드 로직을 단순화하고 응답 속도 및 데이터 전송 효율성을 높일 수 있다.1. 개념 및 정의BFF는 프론트엔드별로 별도의 백엔드 계층을 두는 방식으로, 각각의 UI 요구사항에 따라 백엔드와 통신을 중개하고 데이터를 가공하여 전달하는 역할을 수행한다.목적: 프론트엔드 개발자 요구사항에 맞춘 유연한 API 제공필요성: 단일 API 계층의 복잡성, 과도한 데이터 전달 문제 해결2. 특..

Topic 2025.05.10

REST API vs SOAP

개요웹 서비스(Web Service)는 다양한 시스템과 애플리케이션이 데이터를 주고받을 수 있도록 하는 기술입니다. 대표적인 웹 서비스 통신 방식으로 REST API(Representational State Transfer)와 SOAP(Simple Object Access Protocol)가 있으며, 두 방식은 각기 다른 장점과 단점을 가지고 있습니다. 본 글에서는 REST API와 SOAP의 개념, 주요 차이점, 장단점 및 활용 사례를 비교 분석합니다.1. REST API와 SOAP 개요REST API와 SOAP는 웹 서비스에서 데이터를 교환하는 대표적인 프로토콜 및 아키텍처 스타일입니다.1.1 REST API란?REST(Representational State Transfer) API는 클라이언트-서..

Topic 2025.03.12
728x90
반응형