Upgrade to Pro — share decks privately, control downloads, hide ads and more …

알림 서비스로 시작하는 서버 개발

kakao
December 09, 2022

알림 서비스로 시작하는 서버 개발

#MessageQueue #Scale-out

카카오뱅크의 알림서비스를 소개합니다. 안정적이고 지속가능한 서비스를 위해 뭘 선택했고 그 선택에는 어떤 장단점이 있는지, 더 나아가 그 단점을 보완하는 과정을 알 수 있습니다.

발표자 : mason.kim
카카오뱅크에서 서버 개발자로 일하고 있는 mason입니다. 수신/여신/인증 등 다양한 부분에서 개발하고 있으며, 더 나은 코드를 작성하기 위해 노력하고 있습니다.

kakao

December 09, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. 알림 서비스로 시작하는 서버 개발 김민수 mason.kim 카카오뱅크 Copyright 2022.

    Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao. if(kakao)2022
  2. 생성 서버의 비동기 빠른 응답 생성 서버 Async Thread Pool

    1. 요청 2.Async하게 알림 생성 3.응답
  3. 빠른 응답 Async Thread Pool 생성 서버 이체하고 바로 알림

    조회했는데 알림이 없네🥲 비동기의 단점
  4. 빠른 응답 알림 유실 Async Thread Pool 생성 서버 생성

    서버가 다운되거나 재시작되면?
  5. 추가 요구사항 최대 12개월 전 알림까지 조회하고 싶어요. 대용량의 알림

    템플릿을 xlsx로 다운로드 / 업로드하고 싶어요. 고객센터 운영팀
  6. Database 분리 Service Database Archive Database 내부 서비스 서비스 Long

    Range Query, OOM 가능성 있는 요청 90일 전 ~ 오늘 365일 전 ~ 90일 전
  7. A B C D E F G H I J

    K L M N O P Q R S T U V W X Y Z Sharding
  8. A B C D E F G H I J

    K L M N O P Q R S T U V W X Y Z Sharding H
  9. A B C D E F G H I J

    K L M N O P Q R S T U V W X Y Z Sharding H
  10. A B C D E F G H I J

    K L M N O P Q R S Sharding T U V W X Y Z H
  11. Sharding algorithm(user) => 1 ~ 16 Schema 1 Schema 5

    Schema 9 Schema 13 Schema 2 Schema 6 Schema 10 Schema 14 Schema 3 Schema 7 Schema 11 Schema 15 Schema 4 Schema 8 Schema 12 Schema 16
  12. Sharding Schema 1 Schema 5 Schema 9 Schema 13 Schema

    2 Schema 6 Schema 10 Schema 14 Schema 3 Schema 7 Schema 11 Schema 15 Schema 4 Schema 8 Schema 12 Schema 16
  13. Sharding Schema 1 Schema 9 Schema 2 Schema 10 Schema

    3 Schema 11 Schema 4 Schema 12 Schema 5 Schema 13 Schema 6 Schema 14 Schema 7 Schema 15 Schema 8 Schema 16