./resume/career/wemakepriceavailable

프로젝트 10

김완태 경력: ㈜위메프/큐텐테크놀로지(유)

MSA 전환, API Gateway 구축, 메시지 플랫폼 개발

기간
2017.12 ~ 2025.01
근무 기간
7년 2개월
부서
플랫폼개발팀
직급
매니저

2024.07 ~ 2024.08

티몬 신규 광고 서비스 개발

진행중인 광고 상품에 추가 금액 지불로 부스팅, 추가 전시영역에 광고 노출 서비스 신규개발

역할
리딩 및 개발
A-Platform Dev. Team
인원
3인

사용기술

HTML+CSS+Javascript+jQuery, Java(SpringBoot)

주요 업무

  • 마크업, 클라이언트 스크립트, 렌더링/백엔드 서버간 API 연동

2024.05 ~ 2024.06 (1개월)

티몬 키워드 광고 경매 서비스 신규 개발

특정 키워드에 대한 광고를 획득하기 위해 판매사 대상 경매 서비스 제공

역할
리딩 및 개발
A-Platform Dev. Team
인원
4인

사용기술

HTML+CSS+Javascript+jQuery, Java(SpringBoot)

주요 업무

  • 마크업, 클라이언트 스크립트, 렌더링/백엔드 서버간 API 연동

2024.01 ~ 2024.02 (2개월)

위메프, 티몬 SMS/LMS 발송 통합

큐텐, 위메프, 티몬 각 플랫폼에서 발생하는 SMS/LMS 모두 다른 벤더사를 통한 발송으로 사용량 할인을 적용 받기 위한 플랫폼간 통합 프로젝트

역할
리딩 및 개발
Service Platform Dev. Division A-Platform Dev. Team
인원
2인

사용기술

Java(SpringBoot)

주요 업무

  • 위메프, 티몬, 큐텐 통합 시나리오 수립
  • 위메프 발송 로직 (DB insert)를 통합 발송 API 호출로 변경
  • 통합 발송 플랫폼에 저장된 발송 상태를 API로 제공받아 각 플랫폼의 발송 상태 업데이트 batch 개발

프로젝트 성과

갱신 계약시 위메프 티몬 발생 SMS/LMS 월 발송량 340만건에 대한 약 5% 비용절감 추정

경험 및 성장

다중 플랫폼간 통합 시나리오 수립

2023.08 ~ 2023.09 (1개월)

경력 대표 실적

챗봇/채팅 상담 서비스 기술 결함 추적 및 해결

사용자 문의로 상담원 채팅 연결 시 고질적으로 발생하는 문제, 사용량 감소로 인해 서비스 종료 검토 요청 접수. 발생하는 문제를 종류/빈도 별 수집하여 기술적 결함 추적 및 해결

역할
개발
W-Service Dev. Division W-Member Dev. Team
인원
1인

사용기술

Kotlin(Spring webflux), node.js(meteor.js), Redis, MongoDB, Jenkins

주요 업무

  • 대기 상담이 있을 경우 채팅 상담사에게 상담이 할당되는 과정에서 중복 할당, 할당 지연이 발생
  • Redis 분산 락을 이용한 중복 할당 방지 로직이 있으나 정상 동작하지 않는 문제점 파악
  • 비동기 처리(webflux) 특성으로 인한 동일 thread ID를 부여 받을 경우 중복으로 Lock을 획득하는 문제점 확인
  • Lock 획득/해제 시 thread ID가 다르기 때문에 지속적으로 오류가 발생하는 문제점 발견
  • Lock 획득/해제 시 진입 시점에 저장한 thread ID를 통해 획득/해제 시도하도록 로직 개선
  • 동일 thread ID로 진입한 호출을 방어하기 위해 최초 Lock 획득 시도 전 획득된 Lock 의 존재 여부 파악 로직 추가

프로젝트 성과

서비스 런칭(2020년) 시점부터 발생하던 상담 중복 할당, 지연 문제 해결로 시스템 신뢰도 개선. 일일 중복 할당 발생 횟수 10건 이상 -> 0건. 챗봇/채팅 상담(위메프톡) 서비스 지속 이용으로 시스템 종료에 들어갈 인력, 신규 또는 기존 운영 중인 시스템의 개발 비용 절감

경험 및 성장

분산 락을 통한 동시성 제어 매커니즘 파악, webflux + 분산 락을 이용한 시스템의 트러블 슈팅 경험

  • Kotlin
  • Spring webflux
  • Redis
  • MongoDB
챗봇/채팅 상담 서비스 기술 결함 추적 및 해결 프로젝트 상세 보기

2023.03 ~ 2023.08 (6개월)

경력 대표 실적

Push, Push 발송내역 조회 서비스 통합

GCP를 통해 제공되는 (푸시 발송, 발송내역 조회, 고객센터 채팅 상담)서비스의 불필요한 모듈/기술 통합 및 제거

역할
리딩 및 개발
서비스개발실 메시지플랫폼개발팀
인원
4인

사용기술

GCP(pub/sub, GCS), Java(SpringBoot), Kotlin(Spring webflux), Python(flask), Angular, Node.js(meteor.js), Redis, MySQL, MongoDB, Hadoop, Spark, embulk, sqoop, Jenkins, Airflow, Cronicle

주요 업무

  • 푸시 발송, 발송 내역 서비스 통합 (DB 통합, 시나리오 간소화)
  • 서비스의 연속성이 있으나 2개의 GCP 프로젝트와 팀으로 운영되던 서비스 통합 과정
  • 광고 푸시 발송 시나리오 재수립, 프로세스 단순화
  • 푸시 타겟 발송을 위한 관리자페이지 추가
  • 엑셀 파일 파일 업로드 (GCS), 예약 시간 도래 시 엑셀 파일에 기재된 회원번호로 토큰을 읽은 후 푸시 발송 API 호출 기능 개발

프로젝트 성과

불필요한 5개 모듈 정리(25개 -> 20개)로 10개 인스턴스 제거 및 스케일 다운 작업으로 월 평균 발생 비용 약 23% 감소 (1350만원 -> 1050만원 월 300만원 절감). 푸시 발송 수행 시간 감소 1회 스케쥴 약 180만건 발송 수행시간 40분 -> 15분 약 60% 개선

경험 및 성장

오버 엔지니어링의 위험성 경험, 과도한 모듈화와 업무 쪼개기의 비효율성 경험, 네트워크에 대한 이해도 증가 (IDC, 클라우드간 통신 및 GCP 프로젝트간 통신 이슈 해결 과정)

  • GCP Pub/Sub
  • Spring Boot
  • Kotlin
  • Airflow
Push, Push 발송내역 조회 서비스 통합 프로젝트 상세 보기

2022.08 ~ 2023.01 (6개월)

경력 대표 실적

신규 팀 빌딩 및 온보딩, 시스템 구조개선

4개 부서에 의해 운영되던 서비스의 운영 부서 단일화, 온보딩. GCP를 통해 제공되는 서비스의 미사용/오버스펙 모듈 제거 및 스케일 다운

역할
리딩
서비스개발실 메시지플랫폼개발팀
인원
4인

사용기술

GCP(pub/sub, GCS), Java(SpringBoot), Kotlin(Spring webflux), Python(flask), Angular, Node.js(meteor.js), Redis, MySQL, MongoDB, Hadoop, Spark, embulk, sqoop, Jenkins, Airflow, Cronicle

주요 업무

  • 장기간 담당 부서 부재 서비스의 문서화, 문서 현행화
  • 개선점 파악을 위한 푸시 발송, 발송 내역 조회 서비스 전체 시스템 아키텍처 구성도 작성
  • 오버 엔지니어링으로 인한 서비스 복잡도 개선 시나리오 수립
  • 빠른 장애 대응을 위한 APM툴 신규 구성(MongoDB Ops Manager) 및 통합 로깅(ELK stack), 모니터링 시스템(pinpoint) 연동

프로젝트 성과

파편화된 문서 정리, 문서 현행화로 업무 온보딩 난이도 감소. 불필요한 6개 모듈 정리(36개 -> 30개)로 24개 인스턴스 제거 및 스케일 다운 작업으로 월 평균 발생 비용 약 20% 감소 (1700만원 -> 1350만원 월 350만원 절감). 푸시 시스템 장애 감지 지연으로 3시간 이상 소요되던 장애 대응 시간 1시간 이내로 감소

경험 및 성장

신규 팀의 팀장으로 중장기 목표 설정 및 성과 관리 경험, 수치에 기반한 목표 설정, 성과 측정, 보고서 작성 능력 향상, 서비스의 올바른 시스템 설계, 문서화, 빠른 장애 극복을 위한 장애 감지 중요성 통감

  • GCP
  • MongoDB Ops Manager
  • ELK
  • Pinpoint
신규 팀 빌딩 및 온보딩, 시스템 구조개선 프로젝트 상세 보기

2022.01 ~ 2022.03 (3개월)

경력 대표 실적

트래픽 증가시 병목 API 원인 파악 및 개선

API Gateway를 통한 호출에 일시적 트래픽 증가시 병목지점 확인, 보고 후 개선 작업 참여

역할
리딩 및 개발
서비스개발실 메시지플랫폼개발팀
인원
2인

사용기술

Java(SpringBoot), Redis

주요 업무

  • 트래픽 증가로 인한 병목 지점 특정(pinpoint를 통한 API endpoint 파악)
  • 기존 로직, 용도, 정책 파악 및 문서화
  • Redis 내 저장된 계층적 자료구조를 반복하여 연결 맺고 가져오도록 설계된 문제점 확인
  • 계층 데이터를 get -> mget 변경, 실시간성 우선순위가 낮은 데이터로 1분 간격 로컬캐시 적용

프로젝트 성과

평시 인스턴스 54대, 트래픽 증가 예상 시점 인스턴스를 80~100대까지 운영하였으나 28대로 안정적 운영 확인 (피크타임 약 2400TPS)

경험 및 성장

자료구조에 대한 최소한의 고민, 문서화의 중요성 통감

  • Spring Boot
  • Redis
  • Pinpoint
트래픽 증가시 병목 API 원인 파악 및 개선 프로젝트 상세 보기

2020.12 ~ 2021.09 (10개월)

경력 대표 실적

Spring Cloud Gateway를 이용한 API Gateway 구축 및 통계 대시보드 구성

SpringBoot로 개발된 API Gateway 프로젝트 2개를 Spring webflux 기반 Spring Cloud Gateway를 이용한 1개의 API Gateway 프로젝트로 통합 후 대체

역할
개발
신사업개발실 게이트웨이개발팀
인원
4인

사용기술

API Gateway : Java(Spring webflux), Thymeleaf / Dashboard : Java(SpringBoot), MySQL, metabase(BI툴)

주요 업무

  • SpringBoot 기반 코드를 Spring webflux 기반 코드로 변경. Spring Cloud Gateway를 이용한 서비스 전체 API 호출을 제어하는 API Gateway 구축
  • 신규 API Gateway 서비스 투입 계획 수립
  • End-Point 별 호출, 오류 발생, 오류 별 발생 횟수 등의 자료를 수집, 시각화, 대시보드로 제공

프로젝트 성과

2개로 분리됐던 API Gateway를 통합, webflux전환으로 인스턴스 196대 -> 120대로 약 39% 감소. 호출 증가에 따른 응답 지연 현상 개선 (피크타임 평균 응답시간 약 47% 감소 300ms -> 160ms). 호출 기록, 인증/인가 등의 공통 로직 관리로 유지보수 난이도 감소. 특정 API에서 발생하는 오류/지연 감지 속도 증가

경험 및 성장

Spring webflux, Reactive Programming에 대한 이해도 향상. 사내 단일 서비스 중 가장 많은 호출(일 평균 호출 3억건 이상, 일 피크 4000TPS 이상)을 처리 하는 서비스 운영/개발을 통해 트래픽 증가에 대한 대응, 모니터링 환경 구축 경험

  • Spring webflux
  • Spring Cloud Gateway
  • MySQL
  • metabase
Spring Cloud Gateway를 이용한 API Gateway 구축 및 통계 대시보드 구성 프로젝트 상세 보기

2019.01 ~ 2019.12 (1년)

경력 대표 실적

2차 전환 대상 서비스 운영 및 전환

레거시 시스템(PHP) 운영/개발 및 Fade out

역할
개발
플랫폼개발실 운영개발팀
인원
10인 이상

사용기술

PHP(Codeigniter), MySQL, Couchbase, Memcached, Redis, Java(SpringBoot)

주요 업무

  • 2차 전환 대상 및 전환 기간 중 유지가 필요한 레거시 서비스의 서버 감축
  • 전환 시 누락 기능 API 개발 및 전환 작업
  • 담당팀 부재, 용도 불명 서버 소스레벨 파악 및 문서화, 필요 여부에 따라 종료

프로젝트 성과

파악된 잔여 레거시 서버 150대 -> 30대로 약 80% 서버 회수

경험 및 성장

인수인계의 중요성 통감, 대대적인 서비스 전환 비용에 대한 고찰

  • PHP
  • MySQL
  • Couchbase
  • Java
2차 전환 대상 서비스 운영 및 전환 프로젝트 상세 보기

2018.01 ~ 2018.12 (1년)

Monolithic Architecture PHP 프로젝트를 MSA Java 프로젝트로 전환

기존에 구축된 PHP monolithic architecture프로젝트를 Java micro service architecture프로젝트로 전환, 레거시 시스템(PHP) 운영/개발 업무

역할
개발
플랫폼개발실 융합3팀
인원
60인 이상

사용기술

PHP(Codeigniter), MySQL, Couchbase, Memcached

주요 업무

  • PHP 프로젝트의 정책 포함한 주요 로직 분석, 사내 wiki(confluence)에 문서화
  • 분석한 내용을 Java개발자와 Fair programming을 통해 Java전환
  • 이관 중 PHP 신규 기능 개발 및 운영 업무

프로젝트 성과

데이터베이스 장애 발생 시 시간 당 약 5천만원(2018년 매출액 4300억 기준)의 매출액 피해를 최소화 할 수 있는 시스템 구축. 별도의 도메인인 백오피스(어드민, 판매자 어드민 등)의 데이터베이스 분리로 데이터베이스 장애에 따른 전사 서비스 장애 예방. 세분화된 R&R로 빠른 fail-over 가능, 도메인 별 부하에 따른 scale-out 대응 환경 구축으로 장애 발생에 의한 연장근무, 모니터링 인력 30% 이상 감소

경험 및 성장

대규모 시스템과 MSA에 대한 이해도 향상, 신규 언어 전환 시 효율적인 Fair programming 경험, 세분화된 R&R로 인해 발생하는 silo(부서 이기주의)현상, 시스템 복잡도 증가로 인해 발생하는 문제에 대한 커뮤니케이션 비용 상승 경험, 레거시 코드를 통한 코딩 컨벤션 통일 및 코드 리뷰의 필요성 통감