0

Google App Engine (GAE)에서 Apollo-Graphql을 사용할 계획입니다. 그래서 스케일링에 대해 걱정할 필요가 없습니다. (저는 Redis 또는 다른 pubsub를 사용할 것입니다). 그러나 문제는 GAE가 웹 소켓을 지원하지 않는다는 것입니다. 나는 GraphQL 구독을 많이 사용한다. https://cloud.google.com/solutions/real-time-gaming-with-node-js-websocketGraphQL Subscription을 다른 서버로 분리하는 방법

는 아폴로 서버에서이 작업을 수행하는 것이 가능 : 구글이 권장 무엇

는 GAE 안에 나머지를 (구글 컴퓨 트 엔진과 같은) 다른 VM에 웹 소켓을 분리하고 유지하는 것입니다? 노드 js apollo-server-express를 사용하고 있습니다.

답변

1

인프라를 확장하는 좋은 패턴입니다. apollo-server-express/Apollo-Graphql을 사용할 수 없습니다.

동일한 코드베이스를 사용하면 하나는 쿼리 및 변이를 http으로 처리하고 다른 하나는 websocket으로 구독을 처리합니다. 올바른 네트워크를 (GAE) 또는 Google Compute Engine으로 연결하기 만하면됩니다.

모든 http 검색어는 GAE에서 처리합니다. 아폴로 클라이언트는 Google Compute Engine에서 ws 검색어를 구독합니다. 하나의 이벤트가 Redis 또는 기타에 게시 될 때 apollo-graph는 구독자 인 ws 인 경우에만 소비하고 해결합니다.

그래서 GAE에 pubsub/Redis를 연결할 필요가 없습니다.

httpws에 대해 2 개의 프로젝트를 사용하려고했지만 graphQL 스키마를 공유하지 않습니다.