2019 우아한 테크의 밤 - 요약
· 5 min read
우아한형제들에선 무슨 일을 하나..? - 김범준 CTO/CEO님
소개
- 내년부터는 CTO가 아닌 CEO로써 활동을 하게 된다.
- 회사 서비스에 대한 소개
1. 배달의민족
- 다른 이커머스와 견주어도 튼튼하고 견고한 서비스
- WHY?
- 최대 300만 쓰기 트랜잭션도 버텨냄
- CQRS와 EventSourcing 도입
- 오프라인 모드 지원
- AS-IS: 별도의 오류페이지
- TO-BE: 노출되어 있던 로컬 캐싱(번호, 메뉴, 주문 등등..)
- 최대 300만 쓰기 트랜잭션도 버텨냄
2. 배민라이더스, 배민커넥트
- (풀, 파트) 타임의 배달원
- 약 10,000명
- 주문이 들어오면 근처 라이더에게 타겟팅
- 타다와 같은 방식(타다는 약 1,000대가량 된다고 함)
3. B마트
- 배민라이더스, 배민커넥트분들이 마트 물건을 배달
- 편의점 보다 싸고 간편함 (일부 지역 서비스 중)
4. 로봇 딜리버리
- 로봇으로 배달
- 건 국에서 베타 테스트
- 실제로 로봇 딜리버리로 주문되는 양이 더 많음
- 그 외에도 몇 군데 있음(까먹...)
그 외
- 만화경, 띠잉, 등등등..
회사 개발 조직
- 다양항 기술 세미나 진행 중
- 우아한 테크 코스
- 우아한 테크 러닝
- 우아한 테크 세미나
- 개발 조직 비전: 코드 덩어리가 아닌 가치를 만들고 스스로의 가치를 높이며 일한다.
우아한 아키텍처 - 김영한님
소개
- 4년간의 마이크로 서비스 전환기
- 하게 된 이유? 매년 2배의 주문량 증가로 기존 시스템(모놀리식)으로 감당이 안됨
- (시간이 없어 후다닥 넘어가느라 조금 아쉽...)
2015
- 하루 주문 5만
- PHP, MS-SQL(수천 개의 프로시저), ASP
- 모놀리식
2016
- 하루 주문 10만
- PHP에서 Java로 전환 시작
- 마이크로 서비스 도전
- 결제, 주문 중계
2017
- 하루 주문 20만
- 대 장애의 시대
- 매주 장애
- CEO님이 그만 좀 장애내라고 메일 썻다함 (주르륵...)
2018 상반기
- ms-sql 제거
- 가게 상세
- 다이나모 배치 갱신
2018 하반기
- 포인트, 쿠폰, 리뷰 MSA 전환
- 리뷰 - 이벤트 기반 아키텍처
- 광고, 가게/업주 - 프로젝트 먼데이
MSA 고민
-
CQRS => 성능, 장애 격리, 데이터 동기화
- 조회, 명령 분리(master, slave 같은 개념이 아닌 별도의 데이터베이스로 분리 가능한 형태)
- 명령으로 데이터 변경되면 조회에 이벤트로 전달
- 데이터 싱크 1~3초
- zero-payload
- id만 전달 후, api로 최신 데이터 가져와서 처리
- 최소 데이터 보관 원칙
- (뭐더라...)
-
데이터 싱크 장애 대응
- 이벤트 재발행
- (전체, 부분) 임포트 -> 이벤트 서비스(sqs, sns) 장애 대응
-
캐시
-
서킷 브레이커
-
비동기 논블로킹
- Reactor, WebFlux
-
결과적으로, 크게 16개의 서비스로 분리
패널 토크
- 객체지향 도전?
- 한번에 하려고 하지말자
- 학습법?
- 책 vs 프로젝트
- 나만의 학습법을 찾아라
- 기술 공부는 회사에서 쓰는 것, 쓸 것만 공부해도 충분하다
- 기술 스킬을 공부하기 보다는 방법론을 공부하자... (TDD 같은)
느낀점
- 역시나 마이그레이션은 (겁나) 어려운 것이다.
- MSA를 하려면 굉장히 많은 사이드 이펙트에 대한 고려가 필요하다.
- 나만의 학습법을 찾아보자...!