Docs Menu
Docs Home
/ /
Atlas App Services
/ /

GraphQL을 WunderGraph로 마이그레이션

이 페이지의 내용

  • WunderGraph로 마이그레이션
  • WunderGraph 애플리케이션 만들기
  • npm 스크립트 추가
  • WunderGraph MongoDB 서버 시작
  • MongoDB Atlas 데이터 소스 구성
  • 쿼리 작업 추가
  • GraphiQL UI로 데이터 찾아보기
  • 프로덕션에 WunderGraph의 JSON-RPC 인터페이스 사용
  • 클라이언트 애플리케이션 업데이트
  • Atlas App Services 엔드포인트 종료
  • 다음 단계
  • GraphQL Federation을 위한 WunderGraph Cosmo

중요

항상 MongoDB Atlas 와 WunderGraph 의 공식 문서를 참조하세요. 최신 정보와 정확한 정보를 제공합니다. 구체적인 단계는 프로젝트 의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.

WunderGraph 은(는) 다양한 오픈 소스 도구와 SDK를 갖춘 포괄적인 개발자 플랫폼입니다.

이러한 도구 중 하나는 프론트엔드용 백엔드(BFF) 프레임워크입니다. . 이 BFF 프레임워크는 프로덕션 환경에 추가할 수 있는 강력한 사양 호환 서버 프레임워크입니다. 이 프레임워크는 모든 소스의 데이터를 통합할 수 있습니다. 여기에는 MongoDB Atlas의 데이터가 포함됩니다. 자세한 내용 은 용 WunderGraph Docs 페이지를 Atlas 참조하세요. . GraphQL Federation을 사용할 계획이라면 WunderGraph Cosmo를 살펴보세요.

WunderGraph BFF는 데이터를 번들로 제공하고 프론트엔드 프레임워크를 위한 유형 안전 클라이언트를 생성하는 오픈 소스 게이트웨이입니다. 후크를 사용하여 추가 비즈니스 로직 또는 사용자 지정 GraphQL 해석기 를 추가할 수도 있습니다. 데이터베이스에서 클라이언트를 분리합니다.

다음은 GraphQL 호스트를 Atlas App Services에서 WunderGraph로 마이그레이션하는 방법에 대한 개요입니다. 구체적인 단계는 프로젝트의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.

1
# Init a new project
npx create-wundergraph-app my-project --example simple
# Move to the project directory
cd my-project
# Install dependencies
npm i
2

다음 스크립트를 package.json 에 추가하여 WunderGraph 서버를 실행할 수 있도록 합니다.

{
"scripts": {
"start": "wunderctl up --debug",
"build": "wunderctl generate"
}
}
3
npm run start

서버를 시작한 후 WunderGraph는 몇 가지 코드 생성을 수행합니다. http://localhost:9991 에서 서버 상태를 확인합니다.

4

MongoDB Atlas 데이터 소스를 구성해야 합니다. wundergraph.config.ts 파일 내에 다음을 추가합니다.

wundergraph.config.ts
const Atlas = introspect.mongodb({
apiNamespace: 'my_db',
databaseURL: 'YourAtlasURL',
});
configureWunderGraphApplication({
apis: [Atlas],
});
5

Atlas 데이터로 작업하려면 쿼리 작업을 추가해야 합니다. operations 폴더로 이동하여 Users.graphql 라는 새 GraphQL 파일을 만들고 다음을 추가합니다.

/operations/Users.graphql
{
Mongo_findFirstusers {
id
name
email
}
}
6

WunderGraph 서버를 실행하고 쿼리 작업을 추가한 후에는 GraphiQL 사용자 인터페이스를 사용하여 GraphQL API를 통해 Atlas 데이터를 탐색할 수 있습니다. 이는 앱을 개발 중일 때 유용할 수 있습니다. 프로덕션 앱의 경우 WunderGraph의 JSON-RPC 인터페이스를 사용하는 것이 좋습니다(다음 단계 참조).

  1. WunderGraph 서버가 실행 중인 상태에서 http://localhost:9991/graphql 로 이동합니다.

  2. GraphiQL 사용자 인터페이스에 다음 쿼리를 추가합니다.

    query Users {
    db_findManyusers {
    id
    name
    email
    }
    }
  3. 재생 버튼을 클릭합니다.

7

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
8

GraphQL API 엔드포인트와 상호 작용하는 모든 클라이언트 애플리케이션이 새로운 WunderGraph 엔드포인트 URL을 가리키도록 업데이트합니다.

9

GraphQL API 엔드포인트가 완전히 마이그레이션되어 WunderGraph에서 작동하는지 확인한 후에는 불필요한 비용을 방지하기 위해 MongoDB Atlas App Services 앱을 삭제할 수 있습니다. 참고로 Atlas GraphQL 엔드포인트는 12, 20253월 부터 더 이상 지원되지 않습니다.

WunderGraph 코스모 Docs 를 GraphQL GraphQL 확인하세요. 여러 API를 결합하여 통합 그래프를 만드는 분산 아키텍처를 구축하는 방법을 알아봅니다.

Cosmo를 사용하면 팀과 조직이 GraphQL 아키텍처를 쉽게 관리하고 확장할 수 있습니다. 구성 검사를 통해 중단 없이 빠르게 반복할 수 있습니다.

WunderGraph Cosmo는 로컬, 온프레미스 또는 클라우드에서 관리형 서비스로 쉽게 실행할 수 있습니다. Cosmo는 배터리가 포함된 솔루션으로, 전체 플랫폼의 라우팅부터 분석에 이르기까지 모든 것을 포괄합니다.

Cosmo는 모놀리식 GraphQL API와 구독을 포함한 Federation v1 및 v2 를 지원합니다.

돌아가기

Apollo로 마이그레이션