샛별
01/21/2021, 1:32 PMTony Won
GraphQL의 스키마의 버전 관리는 어떻게 이루어지나요? 어떤 문서에서는 버전관리 없이 하나의 스키마를 사용한다고 하는 것 같은데 그렇게 되면 낮은 버전의 어플리케이션에서 문제가 발생할 것 같아서 여쭤봅니다.따로 스키마에는 버전이 없어요. 만약 버전이 필요하시다면 새로운 필드를 파시는 방향을 추천드려요. 하위 호환성 체크는 보통 "스키마 체크"라고도 부르고요, Apollo Studio라는 서비스에서 스키마 레지스트리와 함께 제공합니다. CI와 통합하면 현재 배포하려는 스키마가 하위호환성이 보장되는지 체크하고 만약 Breaking Change가 발생할경우 빌드를 멈추고 해당 내용을 슬랙으로 받아볼수있어요.
Tony Won
type Query {
user(...): User @deprecated(reason: "쓰지마세요")
userV2(...): UserV2
}
Tony Won
Hyeseong Kim
01/21/2021, 1:39 PMGraphQL의 스키마의 버전 관리는 어떻게 이루어지나요?프로젝트의 구조에 따라 천차만별일 것 같네요. 예상하시는 많은 문제들은 CI(Continuous Integration)를 통해 해결할 수 있습니다. 가장 단순하게 코드베이스를 서버와 클라이언트가 공유하는 구조라면 대부분 타입시스템이 개발시간에 문제를 알려줄 수 있습니다.
Tony Won
Hyeseong Kim
01/21/2021, 1:40 PMGraphQL의 subscription의 지속시간이나 연결되는 커넥션의 제한은 어느정도 일까요?Subscription 은 일반적으로 WebSocket 표준 위에서 동작하기 때문에 (보통 subscription-transport-ws 나 graphql-ws 같은걸 씀) WebSocket의 제약사항을 그대로 따릅니다.
Hyeseong Kim
01/21/2021, 1:40 PMHyeseong Kim
01/21/2021, 1:41 PMThelibrary is not being actively maintained. It is recommended that you use the graphql-ws library instead. For details read the GraphQL over WebSockets announcement.subscriptions-transport-ws
Hyeseong Kim
01/21/2021, 1:41 PM샛별
01/21/2021, 1:42 PMHyeseong Kim
01/21/2021, 1:42 PMHyeseong Kim
01/21/2021, 1:42 PMHyeseong Kim
01/21/2021, 1:43 PM샛별
01/21/2021, 1:45 PM