유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

컬리

September 2, 20201

컬리에서 선물하기를 개발하며 회고

컬리에서 선물하기를 개발하며 회고
간단 소개

컬리의 선물하기 서비스 개발 여정: 레거시 시스템 극복, 마이크로서비스 아키텍처 도입, 데이터 동기화, 분산 서버 구조 등을 통해 성공적인 론칭과 시스템 개선을 이룸.

AI Summary
  • 선물하기 서비스 개발 배경 및 목표
    • 컬리는 레거시 시스템의 한계를 극복하고 비즈니스 성장을 위해 선물하기 서비스 개발을 결정.
    • 고도몰 PHP 기반의 레거시 시스템은 기술 부채가 많고 모놀리틱 구조로, 데이터베이스 장애가 전체 시스템 장애로 이어질 위험이 있었음.
    • 마이크로서비스 아키텍처로 전환하며 레거시 시스템 개선을 목표.
  • 개발 과정 및 주요 고려 사항
    • 기존 시스템과의 호환성을 위해 데이터 동기화(dual writing) 방식을 채택, 신규 데이터베이스의 정보를 기존 데이터베이스로 동기화.
    • 기존 프로세스 유지를 위해 별도의 선물 주문 생태계를 구성하고 레거시 시스템에 호환하는 방식으로 접근.
    • 분산 서버 구조로 부하 발생 시 스케일 아웃이 용이하도록 구성, Message Queue를 이용한 Throttling 적용 고려.
  • 회고 및 결론
    • 촉박한 일정 속에서 QA 이슈 1000여 개를 해결하며 성공적으로 론칭, 아키텍처 및 운영 서비스에 대한 고민을 해결.
    • 레거시 시스템 개선과 신규 서비스 론칭 과정에서 많은 어려움이 있었지만, 마이크로서비스 아키텍처 도입을 통해 시스템을 개선해 나가는 중.
    • 커머스 및 물류 도메인 경험을 쌓고 레거시 시스템 개선에 참여할 개발자 채용 중.
원문 보기

Next Feeds

Istio와 Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입기

Istio와 Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입기

Istio, Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입으로 배포 효율성과 안정성을 향상시킨 사례를 소개합니다.

IstioSpinnakerBlue-GreenCanary자동 배포
2020. 8. 19.
데브시스터즈
Banksalad Product Language를 소개합니다

Banksalad Product Language를 소개합니다

뱅크샐러드의 UI 디자인 및 개발 효율성을 높이는 BPL(Banksalad Product Language) 구축 과정과 iOS 구현 사례를 소개합니다.

BPL디자인 시스템UI 개발협업Figma
2020. 8. 14.
뱅크샐러드
안드로이드 11의 "패키지 공개 상태" 변경 사항 정리

안드로이드 11의 "패키지 공개 상태" 변경 사항 정리

안드로이드 11의 패키지 공개 상태 변경 사항과 이에 따른 앱 호환성 확보를 위한 API 테스트 결과 및 대응 방안을 제시합니다.

안드로이드 11패키지 공개 상태AndroidManifestQUERY_ALL_PACKAGESAPI
2020. 8. 5.
버즈빌
React 이해하기

React 이해하기

React의 기본 개념, 선언형 UI, State 관리, Hook을 사용한 함수형 컴포넌트 등 React의 핵심 내용을 간략하게 설명합니다.

React컴포넌트JSXHook선언형
2020. 7. 9.
컬리
JPA 덕분에 DB에서 삽질한 이야기

JPA 덕분에 DB에서 삽질한 이야기

JPA 환경에서 UUID를 ID로 사용할 때 겪은 DB 조회 문제 해결 과정을 분석하고, 원인이 컬럼 속성 길이와 MySQL의 RPAD 특성에 있음을 밝힙니다.

JPAUUIDDB 조회RPADBINARY
2020. 7. 5.
컬리
제품을 대하는 개발자의 자세

제품을 대하는 개발자의 자세

개발자가 프로덕트 관점을 갖는 것의 중요성을 강조하고, 문제 해결 능력 향상과 비즈니스 이해를 위한 질문과 답변의 필요성을 설명한다.

프로덕트개발자PM/PO비즈니스성장
2020. 7. 1.
버즈빌