5년 후의 Viaduct: 데이터 중심 서비스 메시 현... 노트

5년 후의 Viaduct: 데이터 중심 서비스 메시 현대화

Viaduct, Airbnb의 데이터 중심 서비스 메시, 오픈소스로 공개Airbnb의 데이터 중심 서비스 메시인 Viaduct가 이제 오픈소스로 공개되었습니다. 지난 5년 동안 Airbnb에서 Viaduct의 사용량은 크게 증가하여 트래픽은 8배, 팀 수는 두 배로 늘었습니다. Viaduct는 세 가지 핵심 원칙, 즉 중앙 스키마, 호스팅된 비즈니스 로직, 그리고 재진입성을 기반으로 계속 발전해 왔습니다. 중앙 스키마는 회사 전체의 데이터를 통합하여 Viaduct를 핵심 데이터 메시로 만들었습니다. 서버리스 플랫폼을 통해 Viaduct 내에서 직접 비즈니스 로직을 호스팅함으로써 개발자의 운영을 간소화했습니다. 재진입성은 호스팅된 로직이 GraphQL 프래그먼트 및 쿼리를 통해 다른 로직과 결합될 수 있도록 하여 모듈성을 유지합니다.최근의 대대적인 개편인 "Viaduct Modern"은 개발자가 사용하는 Tenant API를 node 및 field resolver의 두 가지 resolver 유형으로 단순화하여 과거의 복잡성을 해결했습니다. 이 현대화는 또한 tenant 모듈성을 도입하여 "tenant 모듈"을 단일 팀이 소유하고 GraphQL을 통해 구성되는 스키마 및 코드의 단위로 공식화했습니다. 프레임워크 모듈성 또한 개선되어 GraphQL 실행 엔진, tenant API, 그리고 호스팅된 코드 간의 추상화 경계가 더욱 강화되었습니다. 새로운 엔진 API는 동적으로 형식이 지정되는 반면, tenant API는 정적으로 형식이 지정되어 독립적인 진화를 가능하게 합니다.Viaduct는 Classic 및 Modern Tenant API를 새로운 엔진에서 동시에 실행하여 점진적인 마이그레이션을 제공합니다. 다른 개선 사항으로는 향상된 관찰 가능성, 스키마 우선 개발 및 직접 바이트코드 생성을 통한 더 빠른 빌드 시간, 그리고 Kubernetes 스케일링 및 블래스트 반경 완화를 위한 디스패처가 있습니다. Airbnb는 커뮤니티 기여를 통해 이점을 얻기 위해 Viaduct를 오픈소스로 공개하며, 대규모 및 초기 GraphQL 프로젝트 모두에 가치가 있을 것이라고 믿습니다. Modern API는 현재 알파 단계에 있지만, 새로운 엔진은 전체 프로덕션 환경에서 사용되고 있습니다.
CdXz5zHNQW_Ry0cTKX3TG.jpeg