GraphQL을 WunderGraph로 마이그레이션
이 페이지의 내용
중요
항상 MongoDB Atlas 와 WunderGraph 의 공식 문서를 참조하세요. 최신 정보와 정확한 정보를 제공합니다. 구체적인 단계는 프로젝트 의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.
WunderGraph 은(는) 다양한 오픈 소스 도구와 SDK를 갖춘 포괄적인 개발자 플랫폼입니다.
이러한 도구 중 하나는 프론트엔드용 백엔드(BFF) 프레임워크입니다. . 이 BFF 프레임워크는 프로덕션 환경에 추가할 수 있는 강력한 사양 호환 서버 프레임워크입니다. 이 프레임워크는 모든 소스의 데이터를 통합할 수 있습니다. 여기에는 MongoDB Atlas의 데이터가 포함됩니다. 자세한 내용 은 용 WunderGraph Docs 페이지를 Atlas 참조하세요. . GraphQL Federation을 사용할 계획이라면 WunderGraph Cosmo를 살펴보세요.
WunderGraph로 마이그레이션
WunderGraph BFF는 데이터를 번들로 제공하고 프론트엔드 프레임워크를 위한 유형 안전 클라이언트를 생성하는 오픈 소스 게이트웨이입니다. 후크를 사용하여 추가 비즈니스 로직 또는 사용자 지정 GraphQL 해석기 를 추가할 수도 있습니다. 데이터베이스에서 클라이언트를 분리합니다.
다음은 GraphQL 호스트를 Atlas App Services에서 WunderGraph로 마이그레이션하는 방법에 대한 개요입니다. 구체적인 단계는 프로젝트의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.
처음부터 시작하는 경우 MongoDB/Atlas 데이터 소스 설명서 를 따르세요.. 자세한 내용 은 용 WunderGraph Docs 페이지를 Atlas 참조하세요.
GraphQL Federation을 사용할 계획이라면 WunderGraph Cosmo 를 살펴보세요.
GraphiQL UI로 데이터 찾아보기
WunderGraph 서버를 실행하고 쿼리 작업을 추가한 후에는 GraphiQL 사용자 인터페이스를 사용하여 GraphQL API를 통해 Atlas 데이터를 탐색할 수 있습니다. 이는 앱을 개발 중일 때 유용할 수 있습니다. 프로덕션 앱의 경우 WunderGraph의 JSON-RPC 인터페이스를 사용하는 것이 좋습니다(다음 단계 참조).
WunderGraph 서버가 실행 중인 상태에서
http://localhost:9991/graphql
로 이동합니다.GraphiQL 사용자 인터페이스에 다음 쿼리를 추가합니다.
query Users { db_findManyusers { id name email } } 재생 버튼을 클릭합니다.
프로덕션에 WunderGraph의 JSON-RPC 인터페이스 사용
GraphiQL은 개발에는 유용하지만 프로덕션 환경에서는 WunderGraph의 JSON-RPC 인터페이스를 사용하여 Atlas 데이터와 상호 작용하는 것을 고려해야 합니다.
즉, WunderGraph는 GraphQL 작업을 호출할 수 있는 JSON-RPC 엔드포인트로 컴파일합니다.
wunderctl up
를 실행한 후 WunderGraph는 .wundergraph/operations
디렉토리에서 *.graphql
파일을 확인하고 처리합니다. 이 작업을 수행하려면 각 파일에 정확히 하나의 GraphQL 작업이 포함되어야 합니다.
각 파일은 JSON-RPC 엔드포인트로 컴파일됩니다. 엔드포인트의 이름은 파일 이름에 따라 결정됩니다.
다음은 JSON-RPC API 쿼리의 예시입니다.
curl http://localhost:9991/operations/Users
다음 단계
GraphQL Federation을 위한 WunderGraph Cosmo
WunderGraph 코스모 Docs 를 GraphQL GraphQL 확인하세요. 여러 API를 결합하여 통합 그래프를 만드는 분산 아키텍처를 구축하는 방법을 알아봅니다.
Cosmo를 사용하면 팀과 조직이 GraphQL 아키텍처를 쉽게 관리하고 확장할 수 있습니다. 구성 검사를 통해 중단 없이 빠르게 반복할 수 있습니다.
WunderGraph Cosmo는 로컬, 온프레미스 또는 클라우드에서 관리형 서비스로 쉽게 실행할 수 있습니다. Cosmo는 배터리가 포함된 솔루션으로, 전체 플랫폼의 라우팅부터 분석에 이르기까지 모든 것을 포괄합니다.
Cosmo는 모놀리식 GraphQL API와 구독을 포함한 Federation v1 및 v2 를 지원합니다.