SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
+
+
+ +
+ +
+
+
“좌충우돌 도도 포인트 서비스 운영기”
강효준(ed)
음악을 들으며 오픈 소스 코딩하는 것을 즐깁니다.
스포카 풀스택 프로그래머 15.02 - 현재
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기
H Labs 파트 타이머 14.10 - 15.01
https://kanghyojun.org
강효준
비트패킹 컴퍼니 프로그래머 13.07 - 13.11
씨들 공동 창업자 12.04 - 13.03
스포카가 뭘하길래,
좌충우돌까지 할 일인가?
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기
스포카의 미션:
매장과 고객을 세련되게 연결한다
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
스포카의 미션:
1만 매장과 1000만 고객을 세련되게 연결한다
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
스포카의 미션:
1만 매장과 1000만 고객을 세련되게 연결한다
2011년부터
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
도도 포인트
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 종이 쿠폰을 없애자.
- 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자.
- 매장 운영에 도움이 되는 정보를 제공하자.
도도 포인트
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 종이 쿠폰을 없애자. (핸드폰 번호로 적립)
- 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자.
- 매장 운영에 도움이 되는 정보를 제공하자.
도도 포인트
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 종이 쿠폰을 없애자. (핸드폰 번호로 적립)
- 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자.
- 매장 운영에 도움이 되는 정보를 제공하자.
도도 포인트
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 종이 쿠폰을 없애자. (핸드폰 번호로 적립)
- 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자.
- 매장 운영에 도움이 되는 정보를 제공하자.
도도 메시지
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 고객이 재방문할 수 있도록 마케팅하자.
- 알아서 메시지(LMS, 친구톡)를 보내자.
- 모바일 쿠폰도 제공하자
도도 메시지
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 고객이 재방문할 수 있도록 마케팅하자.
- 알아서 메시지(LMS, 친구톡)를 보내자.
- 모바일 쿠폰도 제공하자
도도 메시지
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 고객이 재방문할 수 있도록 마케팅하자.
- 알아서 메시지(LMS, 친구톡)를 보내자.
- 모바일 쿠폰도 제공하자
이런 장애가 있었어요
도도 메시지편
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
도도 메시지

발송 오류
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- B2B 사업 하다보니 담당자가 대신 도도 메시지 발송하는 경우가 있음.
- 문구에 오류가 있었고 담당자가 발송 시작하고 오류 발견
- 출근 준비하다가 연락 받고 장애 응대 시작
- 문자를 멈춰야한다.
문자 멈추기
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
1. 어떻게 하지
2. 어떻게 할까?
도도 메시지

발송 오류
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 도도 메시지가 사용하는 LMS 서비스는 설치형 서비스입니다.
- 서비스 제공사가 제공하는 JVM 프로그램이 DB에 있는 데이터 크롤링해서 전송
문자 멈추기
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- DB(MySQL)의 대기 테이블에 데이터 입력하면 전
송 시작.
- 전송이 완료되면 로그 테이블(log)에 전송 상태 입
력.
- JVM은 EC2 인스턴스 위에서 실행됨.
문자 멈추기
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 일단 팀원들과 슬랙콜
- tran에 들어가있는 데이터를 주기적으로 지우자
- 빨리 짜자. ( SQL 버전 )
DELETE FROM tran
WHERE content LIKE '%에드 커피%';
문자 멈추기
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 일단 팀원들과 슬랙콜
- tran에 들어가있는 데이터를 주기적으로 지우자
- 빨리 짜자 ( bash 버전 )
mysql -e "DELETE FROM ...";
문자 멈추기
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 일단 팀원들과 슬랙콜
- tran에 들어가있는 데이터를 주기적으로 지우자
- 빨리 짜자 ( Python + bash 버전 )
from subprocess import call
from time import sleep
while True:
call(['mysql', '-e', '...'])
sleep(0.5)
이런 장애가 있었어요
도도 포인트편
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 매장 운영을 하다가 지점 인수 등의 이유로 브랜드로 묶는 경우가 있음
- 각 매장의 포인트를 통합해야하기 때문에 포인트 재정산 기능을 사용해서 정합성
을 맞춤
- 너무 큰 브랜드의 경우 프로그래머가 별도로 새벽에 실행하는 경우 있음.
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 크리스마스 이브에 퇴근하면서 별일 없을거라며 퇴
근.
- 크리스마스 00시부터 04시까지 장애 발생
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 재정산이 잘 안되서 돌리는데 잘 안됨
- no space left
- Transaction Log가 엄청 나게 많이 쌓이고 있었음.
- 그때는 몰랐지만 WAL ( Write Ahead Logging )의 크기를 보여주는 지표
- 트랜잭션이 시작되고 끝날때까지의 기록을 저장하여 원자성을 제공
- 재부팅했는데, 재부팅이 끝나지 않음
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 알고보니 포인트 재정산 때문에 WAL이 쌓인 것이 아니라 DMS와 관련된 문제
- AWS DMS로 BI용으로 Redshift에 데이터를 전송중이었는데 이를 잠깐 멈춰둔
상태였음.
- AWS DMS를 일시 중지 해두면 나중에 동기화하기 위해 WAL에 기록함.
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 읽기 전용 복제본이 있었음
- 일단 읽기 전용 복제본으로 서비스가 돌아가도록 조치
- 읽기 전용 복제본에서 스냅샷 생성
- 읽기 전용 복제본 승격
- 동시에 스냅샷으로 RDS 인스턴스 실행
- RDS에서 특정 시점으로 되돌아가서 인스턴스 띄우는 기능 발견 후 시도
포인트 재정산
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 읽기 전용 복제본을 승격하는 것이 가장 빨랐음.
- 이후에 Aurora로 업그레이드
서비스 운영
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 서비스 운영을 하다보면 장애 상황은 피할 수 없음.
- 예방도 중요하지만 장애는 생김.
- 같은 일이 발생하지 않도록 해야함.
- 프로그래머 누구나 대처를 잘 할 수 있도록 하자.
장애 수리단
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 긴급한 장애 상황에서 장애를 잘 처리할 수 있도록 하자.
- CS 팀 등 타부서와 커뮤니케이션도 잘할 수 있도록 하자.
- 모든 프로그래머가 업무에 집중하지 못하는 상황을 예방하자.
장애 수리단
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 장애가 발생하면, 장애를 확인한 사람이 장애 수리
단 호출
- 최대 4인 구성
- 공지 및 로그 작성
- 드라이버
- 옵저버
- 매장 문자 전송
포스트 모템
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 의사들이 수술 후에 수술 과정을 다른 의사들에게 브리핑 하는 과정
- 장애의 기록을 보며, 대처 방법, 같은 일이 발생하지 않도록 문제를 진단하는 과정
- 모든 프로그래머들이 참여하여 대처 방법과, 재발 방지에 대해 논의
포스트 모템
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기
- 시간별로 정리된 기록을 보며 논의
- 실제 장애 처리 방법까지 시연하며, 방법을 전파하거
나 더 좋은 방법이 없을지 논의
- 재발 방지를 위해 어떤 이슈를 가지고 가야하는지 논
의 후 생성
- 컨플루언스 문서를 전사에 공유
- 매주 금요일 오후 2시부터 3시에 진행
시스템 장애는 천재 지변과 같으니,
장애를 좀 더 잘 관리하자
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
SRE
Site
Reliability
Engineering
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- SLI: 제품 운영 관리 해야할 지표를 만든다.
- SLO: 지표의 수준을 정한다.
- SLA: 이를 계약에서 보장한다.
SRE
Site
Reliability
Engineering
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 에러 예산을 정하고 이를 관리함.
- 에러 예산이 정한 목표에서 벗어나려 할때 모니터링이 가능하도록 만듦.
- 반복되는 일들을 찾아 개선함.
- 장애 수리단과 포스트 모템 모두 SRE에서 소개하고 있는 개념
SRE
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 구글에서 만든 책이 있음
- 장애 대처와 관리를 더 잘하기 위해 사내에서 스터
디 진행
SRE
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
- 구글에서 만든 책이 있음
- 장애 대처와 관리를 더 잘하기 위해 사내에서 스터
디 진행
지금까지 발표를 들어주셔서
감사합니다.
스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기

Weitere ähnliche Inhalte

Ähnlich wie 좌충우돌 도도 포인트 운영기

track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
양 한빛
 

Ähnlich wie 좌충우돌 도도 포인트 운영기 (20)

2019 nexters x spoqa
2019 nexters x spoqa2019 nexters x spoqa
2019 nexters x spoqa
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Study 4
Study 4Study 4
Study 4
 
회계의 신비(오픈소스 무료 간편 장부 서비스)
회계의 신비(오픈소스 무료 간편 장부 서비스)회계의 신비(오픈소스 무료 간편 장부 서비스)
회계의 신비(오픈소스 무료 간편 장부 서비스)
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
track1 05. 스타트업 1인 개발 극복기’와 ‘javascript vs Scala, (함수형 언어 관점으로)방황기/ I/O Inc, ...
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
[2015] 포스텍 개발자 네트워크 포애퍼(PoApper) 소개자료
 
[114]파파고 서비스 2년의 경험
[114]파파고 서비스 2년의 경험[114]파파고 서비스 2년의 경험
[114]파파고 서비스 2년의 경험
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)
 
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designerITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
04 nhn엔터테인먼트
04 nhn엔터테인먼트04 nhn엔터테인먼트
04 nhn엔터테인먼트
 
2019년에 XP 지원하는 프로그램 유지보수하기
2019년에 XP 지원하는 프로그램 유지보수하기2019년에 XP 지원하는 프로그램 유지보수하기
2019년에 XP 지원하는 프로그램 유지보수하기
 
전자책 제작 제안서
전자책 제작 제안서전자책 제작 제안서
전자책 제작 제안서
 
iFun Deploy 소개
iFun Deploy 소개iFun Deploy 소개
iFun Deploy 소개
 
K모바일 모바일웹과 앱 ux 디자인 전략 및 가이드-110128
K모바일 모바일웹과 앱 ux 디자인 전략 및 가이드-110128K모바일 모바일웹과 앱 ux 디자인 전략 및 가이드-110128
K모바일 모바일웹과 앱 ux 디자인 전략 및 가이드-110128
 
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 

좌충우돌 도도 포인트 운영기

  • 1. + + + + + + + + “좌충우돌 도도 포인트 서비스 운영기” 강효준(ed)
  • 2. 음악을 들으며 오픈 소스 코딩하는 것을 즐깁니다. 스포카 풀스택 프로그래머 15.02 - 현재 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기 H Labs 파트 타이머 14.10 - 15.01 https://kanghyojun.org 강효준 비트패킹 컴퍼니 프로그래머 13.07 - 13.11 씨들 공동 창업자 12.04 - 13.03
  • 3. 스포카가 뭘하길래, 좌충우돌까지 할 일인가? 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기
  • 4. 스포카의 미션: 매장과 고객을 세련되게 연결한다 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 5. 스포카의 미션: 1만 매장과 1000만 고객을 세련되게 연결한다 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 6. 스포카의 미션: 1만 매장과 1000만 고객을 세련되게 연결한다 2011년부터 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 7. 도도 포인트 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 종이 쿠폰을 없애자. - 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자. - 매장 운영에 도움이 되는 정보를 제공하자.
  • 8. 도도 포인트 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 종이 쿠폰을 없애자. (핸드폰 번호로 적립) - 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자. - 매장 운영에 도움이 되는 정보를 제공하자.
  • 9. 도도 포인트 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 종이 쿠폰을 없애자. (핸드폰 번호로 적립) - 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자. - 매장 운영에 도움이 되는 정보를 제공하자.
  • 10. 도도 포인트 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 종이 쿠폰을 없애자. (핸드폰 번호로 적립) - 매장에서 고객 관리를 좀 더 쉽게 할 수 있도록 하자. - 매장 운영에 도움이 되는 정보를 제공하자.
  • 11. 도도 메시지 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 고객이 재방문할 수 있도록 마케팅하자. - 알아서 메시지(LMS, 친구톡)를 보내자. - 모바일 쿠폰도 제공하자
  • 12. 도도 메시지 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 고객이 재방문할 수 있도록 마케팅하자. - 알아서 메시지(LMS, 친구톡)를 보내자. - 모바일 쿠폰도 제공하자
  • 13. 도도 메시지 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 고객이 재방문할 수 있도록 마케팅하자. - 알아서 메시지(LMS, 친구톡)를 보내자. - 모바일 쿠폰도 제공하자
  • 14. 이런 장애가 있었어요 도도 메시지편 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 15. 도도 메시지
 발송 오류 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - B2B 사업 하다보니 담당자가 대신 도도 메시지 발송하는 경우가 있음. - 문구에 오류가 있었고 담당자가 발송 시작하고 오류 발견 - 출근 준비하다가 연락 받고 장애 응대 시작 - 문자를 멈춰야한다.
  • 16. 문자 멈추기 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 1. 어떻게 하지 2. 어떻게 할까?
  • 17. 도도 메시지
 발송 오류 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 도도 메시지가 사용하는 LMS 서비스는 설치형 서비스입니다. - 서비스 제공사가 제공하는 JVM 프로그램이 DB에 있는 데이터 크롤링해서 전송
  • 18. 문자 멈추기 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - DB(MySQL)의 대기 테이블에 데이터 입력하면 전 송 시작. - 전송이 완료되면 로그 테이블(log)에 전송 상태 입 력. - JVM은 EC2 인스턴스 위에서 실행됨.
  • 19. 문자 멈추기 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 일단 팀원들과 슬랙콜 - tran에 들어가있는 데이터를 주기적으로 지우자 - 빨리 짜자. ( SQL 버전 ) DELETE FROM tran WHERE content LIKE '%에드 커피%';
  • 20. 문자 멈추기 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 일단 팀원들과 슬랙콜 - tran에 들어가있는 데이터를 주기적으로 지우자 - 빨리 짜자 ( bash 버전 ) mysql -e "DELETE FROM ...";
  • 21. 문자 멈추기 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 일단 팀원들과 슬랙콜 - tran에 들어가있는 데이터를 주기적으로 지우자 - 빨리 짜자 ( Python + bash 버전 ) from subprocess import call from time import sleep while True: call(['mysql', '-e', '...']) sleep(0.5)
  • 22. 이런 장애가 있었어요 도도 포인트편 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 23. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 매장 운영을 하다가 지점 인수 등의 이유로 브랜드로 묶는 경우가 있음 - 각 매장의 포인트를 통합해야하기 때문에 포인트 재정산 기능을 사용해서 정합성 을 맞춤 - 너무 큰 브랜드의 경우 프로그래머가 별도로 새벽에 실행하는 경우 있음.
  • 24. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 크리스마스 이브에 퇴근하면서 별일 없을거라며 퇴 근. - 크리스마스 00시부터 04시까지 장애 발생
  • 25. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 재정산이 잘 안되서 돌리는데 잘 안됨 - no space left - Transaction Log가 엄청 나게 많이 쌓이고 있었음. - 그때는 몰랐지만 WAL ( Write Ahead Logging )의 크기를 보여주는 지표 - 트랜잭션이 시작되고 끝날때까지의 기록을 저장하여 원자성을 제공 - 재부팅했는데, 재부팅이 끝나지 않음
  • 26. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 알고보니 포인트 재정산 때문에 WAL이 쌓인 것이 아니라 DMS와 관련된 문제 - AWS DMS로 BI용으로 Redshift에 데이터를 전송중이었는데 이를 잠깐 멈춰둔 상태였음. - AWS DMS를 일시 중지 해두면 나중에 동기화하기 위해 WAL에 기록함.
  • 27. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 읽기 전용 복제본이 있었음 - 일단 읽기 전용 복제본으로 서비스가 돌아가도록 조치 - 읽기 전용 복제본에서 스냅샷 생성 - 읽기 전용 복제본 승격 - 동시에 스냅샷으로 RDS 인스턴스 실행 - RDS에서 특정 시점으로 되돌아가서 인스턴스 띄우는 기능 발견 후 시도
  • 28. 포인트 재정산 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 읽기 전용 복제본을 승격하는 것이 가장 빨랐음. - 이후에 Aurora로 업그레이드
  • 29. 서비스 운영 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 서비스 운영을 하다보면 장애 상황은 피할 수 없음. - 예방도 중요하지만 장애는 생김. - 같은 일이 발생하지 않도록 해야함. - 프로그래머 누구나 대처를 잘 할 수 있도록 하자.
  • 30. 장애 수리단 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 긴급한 장애 상황에서 장애를 잘 처리할 수 있도록 하자. - CS 팀 등 타부서와 커뮤니케이션도 잘할 수 있도록 하자. - 모든 프로그래머가 업무에 집중하지 못하는 상황을 예방하자.
  • 31. 장애 수리단 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 장애가 발생하면, 장애를 확인한 사람이 장애 수리 단 호출 - 최대 4인 구성 - 공지 및 로그 작성 - 드라이버 - 옵저버 - 매장 문자 전송
  • 32. 포스트 모템 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 의사들이 수술 후에 수술 과정을 다른 의사들에게 브리핑 하는 과정 - 장애의 기록을 보며, 대처 방법, 같은 일이 발생하지 않도록 문제를 진단하는 과정 - 모든 프로그래머들이 참여하여 대처 방법과, 재발 방지에 대해 논의
  • 33. 포스트 모템 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 이용기 - 시간별로 정리된 기록을 보며 논의 - 실제 장애 처리 방법까지 시연하며, 방법을 전파하거 나 더 좋은 방법이 없을지 논의 - 재발 방지를 위해 어떤 이슈를 가지고 가야하는지 논 의 후 생성 - 컨플루언스 문서를 전사에 공유 - 매주 금요일 오후 2시부터 3시에 진행
  • 34. 시스템 장애는 천재 지변과 같으니, 장애를 좀 더 잘 관리하자 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기
  • 35. SRE Site Reliability Engineering 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - SLI: 제품 운영 관리 해야할 지표를 만든다. - SLO: 지표의 수준을 정한다. - SLA: 이를 계약에서 보장한다.
  • 36. SRE Site Reliability Engineering 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 에러 예산을 정하고 이를 관리함. - 에러 예산이 정한 목표에서 벗어나려 할때 모니터링이 가능하도록 만듦. - 반복되는 일들을 찾아 개선함. - 장애 수리단과 포스트 모템 모두 SRE에서 소개하고 있는 개념
  • 37. SRE 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 구글에서 만든 책이 있음 - 장애 대처와 관리를 더 잘하기 위해 사내에서 스터 디 진행
  • 38. SRE 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기 - 구글에서 만든 책이 있음 - 장애 대처와 관리를 더 잘하기 위해 사내에서 스터 디 진행
  • 39. 지금까지 발표를 들어주셔서 감사합니다. 스포카 크리에이터 컨퍼런스 Hello World! 좌충우돌 도도포인트 서비스 운영기