아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
카카오스타일 favicon카카오스타일

Thrift에서 GraphQL로: 크로키닷컴의 마이크로서비스 통신 여정

by DD
2019-04-28
7년 전
조회수 6

마이크로서비스 전환 후 Thrift를 선택하여 서비스 간 통신을 구현함

REST API의 단점을 보완하고자 Thrift를 도입했으나, 몇 가지 문제 발생

GraphQL로 전환하여 API 개발 생산성을 향상시키고, 현재 모든 API에 적용

Thrift 선택 배경: REST API의 한계

크로키닷컴은 마이크로서비스 아키텍처로 전환하며 REST API의 단점을 인지했다. 구체적으로, REST API는 마이크로서비스 간 복잡한 통신을 표현하기 어려웠다. 따라서 데이터 직렬화에 초점을 맞춰 Thrift를 선택했다. 결과적으로 데이터 크기 감소를 기대했으나, 몇 가지 문제에 직면했다.

Thrift의 기술적 도전과 한계

Thrift는 JavaScript 지원에 한계가 있었고, Node.js 환경에 최적화되지 않았다. 또한, TCP 소켓 통신의 오토 스케일링 문제로 인해 HTTP 통신을 사용해야 했다. 반면, API 추가/변경 시 코드 생성의 불편함이 있었다. 따라서 GraphQL로의 전환을 결정했다.

GraphQL 전환의 효과: API 개발 생산성 향상

크로키닷컴은 GraphQL 도입을 통해 API 개발 생산성을 향상시켰다. 구체적으로, API 추가/변경의 유연성을 확보하고, TypeScript와의 통합을 개선했다. 따라서 현재 모든 API를 GraphQL로 구축하고 있다. 결과적으로 API 관리 효율성을 높였다.

크로키의 스택 - Thrift
중급
아키텍처
Thrift
GraphQL
JavaScript
Node.js
Backend
Frontend
원문 읽기
원문 읽기

관련 추천 글

자바스크립트(JavaScript) 의존성 팽창, 왜 일어날까?

해커뉴스 로고

자바스크립트(JavaScript) 의존성 붓기(Bloat), 왜 생기는 걸까?

랍스타즈 로고

Bun으로 JavaScript 개발 속도 UP!

파이어쉽 로고

GraphQL args: 리졸버 인자, 제대로 활용하기!

카카오스타일 로고

크로키, GraphQL 도입으로 API 개발 생산성 UP!

카카오스타일 로고

AI 에이전트가 비디오 편집기를 제어하는 새로운 방식

데브투 로고

댓글 0

첫 번째 댓글을 남겨보세요!
카카오스타일 favicon카카오스타일
중급
아키텍처
Thrift
GraphQL
JavaScript
Node.js
Backend
Frontend

관련 추천 글

자바스크립트(JavaScript) 의존성 팽창, 왜 일어날까?

해커뉴스 로고

자바스크립트(JavaScript) 의존성 붓기(Bloat), 왜 생기는 걸까?

랍스타즈 로고

Bun으로 JavaScript 개발 속도 UP!

파이어쉽 로고