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

3. 데이터 레이어 다중화

kakao
PRO
December 08, 2022

3. 데이터 레이어 다중화

#HA #DR

지난 10월 15일, 카카오가 사용하고 있던 SKC&C 판교 데이터센터에 화재가 났습니다. 이로 인해 카카오 전체 서버의 1/3의 전원이 꺼지면서 서비스에 장시간 장애가 발생하여, 이용자분들에게 많은 불편을 드렸습니다.

그 후 카카오는 '데이터센터 단위로 어떻게 다중화를 해야 이번과 같은 화재시에도 장애를 최소화 할 수 있는지' 광범위하고 깊은 원인 분석을 했고, 해결책을 고민하고 오늘도 계속 보완/실행해가고 있습니다.
이번 이프카카오에서 '1015장애 회고' 트랙을 통해, 각 시스템 레이어별로 어떻게 다중화할지 그 방안을 상세히 공유드리고자 합니다.

'1015장애 회고' 트랙은 다음과 같이 총 5개의 발표로 구성하였습니다. 카카오는 데이터를 RDBMS군, NOSQL, 빅데이터 클러스터 이렇게 세 가지의 카테고리로 구분하여 관리하고 있으며 이 데이터레이어의 다중화에 대해 설명드리는 영상입니다.

1. 데이터센터 단위의 다중화를 위한 고민
2. 인프라 설비 레이어 다중화
3. 데이터 레이어 다중화
4. 서비스 플랫폼 레이어 다중화
5. 애플리케이션 레이어 다중화

발표자 : tonny.yi
카카오 데이터플랫폼팀 tonny입니다

kakao
PRO

December 08, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. JG LBLBP  ؘ੉ఠۨ੉য׮઺ച пઙؘ੉ఠ߬੉झ ࠻ؘ੉ఠ೒ۖಬ١ ੉కਮUPOOZZJ ஠஠য়

  2. ,BLBP%BUB $BUFHPSJFT • 3%#.4.Z42- 1PTUHSF42- 0SBDMF • .POHP%# • #JH%BUB)#BTF

    %SVJE )BEPPQ
  3. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • 3%#.4ҳࢿ੗୓۽ੋೠޙઁחহ঻਺ )"%3਍৔ 

    • ࢚द࠙ࢳ੘স੄૑ো߂઺ױࢲ࠺झী૒੽੸ੋ৔ೱহ਺ • ղࠗߔসझషܻ૑੢গ߂%3ߔসझషܻ૑੽Ӕࠛо • .POHP%# • दझమ੄࢚दоਊࢿҳࢿਸઁೠೞחࢲߡਤ஖ о࢚ ੢࠺੄ ੋझఢझࠗ઒  • ੢গਤ஖ীٮܲ%3ز੘ৈࠗ ֢٘زद੢গद 3FBE0OMZ۽੹ജ  • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ചҳࢿ੉উػ௿۞झఠߊѼ • *%$р֢٘࠙࢑੉੉ܖয૑૑ঋ਷ѐ੄௿۞झఠ ޙઁ੼
  4. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • 3%#.4ҳࢿ੗୓۽ੋೠޙઁחহ঻਺ )"%3਍৔ 

    • ࢚द࠙ࢳ੘স੄૑ো߂઺ױࢲ࠺झী૒੽੸ੋ৔ೱহ਺ • ղࠗߔসझషܻ૑੢গ߂%3ߔসझషܻ૑੽Ӕࠛо • .POHP%# • दझమ੄࢚दоਊࢿҳࢿਸઁೠೞחࢲߡਤ஖ о࢚ ੢࠺੄ ੋझఢझࠗ઒  • ੢গਤ஖ীٮܲ%3ز੘ৈࠗ ֢٘زद੢গद 3FBE0OMZ۽੹ജ  • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ചҳࢿ੉উػ௿۞झఠߊѼ • *%$р֢٘࠙࢑੉੉ܖয૑૑ঋ਷ѐ੄௿۞झఠ ޙઁ੼
  5. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • 3%#.4ҳࢿ੗୓۽ੋೠޙઁחহ঻਺ )"%3਍৔ 

    • ࢚द࠙ࢳ੘স੄૑ো߂઺ױࢲ࠺झী૒੽੸ੋ৔ೱহ਺ • ղࠗߔসझషܻ૑੢গ߂%3ߔসझషܻ૑੽Ӕࠛо • .POHP%# • दझమ੄࢚दоਊࢿҳࢿਸઁೠೞחࢲߡਤ஖ о࢚ ੢࠺੄ ੋझఢझࠗ઒  • ੢গਤ஖ীٮܲ%3ز੘ৈࠗ ֢٘زद੢গद 3FBE0OMZ۽੹ജ  • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ചҳࢿ੉উػ௿۞झఠߊѼ • *%$р֢٘࠙࢑੉੉ܖয૑૑ঋ਷ѐ੄௿۞झఠ ޙઁ੼
  6. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • 3%#.4ҳࢿ੗୓۽ੋೠޙઁחহ঻਺ )"%3਍৔ 

    • ࢚द࠙ࢳ੘স੄૑ো߂઺ױࢲ࠺झী૒੽੸ੋ৔ೱহ਺ • ղࠗߔসझషܻ૑੢গ߂%3ߔসझషܻ૑੽Ӕࠛо • .POHP%# • दझమ੄࢚दоਊࢿҳࢿਸઁೠೞחࢲߡਤ஖ о࢚ ੢࠺੄ ੋझఢझࠗ઒  • ੢গਤ஖ীٮܲ%3ز੘ৈࠗ ֢٘زद੢গद 3FBE0OMZ۽੹ജ  • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ചҳࢿ੉উػ௿۞झఠߊѼ • *%$р֢٘࠙࢑੉੉ܖয૑૑ঋ਷ѐ੄௿۞झఠ ޙઁ੼
  7. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • %3֢٘੄4DBMF6Q 0SBDMF 

    • *%$ҳࢿ .Z42- 1PTUHSF42- ୭ࣗ%3ҳࢿ 1PTUHSF42-ੌࠗ  • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • ղࠗߔসझషܻ૑दझమ੄ݣ౭ܻ੹ҳࢿ ࢚दоਊࢿഛࠁ • .POHP%# • *%$ҳࢿഛ؀ • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ച • *%$р֢٘࠙࢑ ѐࢶࢎ೦
  8. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • %3֢٘੄4DBMF6Q 0SBDMF 

    • *%$ҳࢿ .Z42- 1PTUHSF42- ୭ࣗ%3ҳࢿ 1PTUHSF42-ੌࠗ  • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • ղࠗߔসझషܻ૑दझమ੄ݣ౭ܻ੹ҳࢿ ࢚दоਊࢿഛࠁ • .POHP%# • *%$ҳࢿഛ؀ • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ച • *%$р֢٘࠙࢑ ѐࢶࢎ೦
  9. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • %3֢٘੄4DBMF6Q 0SBDMF 

    • *%$ҳࢿ .Z42- 1PTUHSF42- ୭ࣗ%3ҳࢿ 1PTUHSF42-ੌࠗ  • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • ղࠗߔসझషܻ૑दझమ੄ݣ౭ܻ੹ҳࢿ ࢚दоਊࢿഛࠁ • .POHP%# • *%$ҳࢿഛ؀ • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ച • *%$р֢٘࠙࢑ ѐࢶࢎ೦
  10. • 3%#.4 .Z42- 1PTUHSF42- 0SBDMF  • %3֢٘੄4DBMF6Q 0SBDMF 

    • *%$ҳࢿ .Z42- 1PTUHSF42- ୭ࣗ%3ҳࢿ 1PTUHSF42-ੌࠗ  • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • ղࠗߔসझషܻ૑दझమ੄ݣ౭ܻ੹ҳࢿ ࢚दоਊࢿഛࠁ • .POHP%# • *%$ҳࢿഛ؀ • ݣ౭ܻ੹ਸഝਊೠо࢚੢࠺ੋझఢझਊ۝ഛࠁ • #JH%BUB )#BTF %SVJE )BEPPQ  • ௿۞झఠ׮઺ച • *%$р֢٘࠙࢑ ѐࢶࢎ೦
  11. दझమ߹࢚ࣁࢸݺ

  12. दझమ߹࢚ࣁࢸݺ ਍৔ )" %3

  13. ߔস߂࠙ࢳӝמઁೠ അ੤ҳࢿ ࢚ݶࠗ઒੉ग۽ੌࠗࢲߡ%3޷੸ਊ о࢚੢࠺ੋझఢझӝزࠛמ )"दझమ%3޷੸ਊ *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ݣ౭ܻ੹о࢚੢࠺ੋझఢझഛࠁ $MVTUFSҳࢿ )"दझమ%3ҳࢿ

    ਍৔ )" %3 .Z42- .Z42- *%$ *%$ • 5ZQF.JOPS 4JOHMF4JOHMF)" • 5ZQF.BKPS 4JOHMF4JOHMF%3 .Z42- .Z42- )"दझమ *%$ *%$ • 5ZQF.BKPS *%$%3 .Z42- )"दझమ *%$ .Z42- .Z42- )"दझమ )"दझమ • 5ZQF/FYU(FO *%$%3 *OOP%#$MVTUFS .Z42- .Z42- .Z42- .Z42- .Z42- .Z42-
  14. ߔস߂࠙ࢳӝמઁೠ അ੤ҳࢿ ࢚ݶࠗ઒੉ग۽ੌࠗࢲߡ%3޷੸ਊ о࢚੢࠺ੋझఢझӝزࠛמ )"दझమ%3޷੸ਊ *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ݣ౭ܻ੹о࢚੢࠺ੋझఢझഛࠁ $MVTUFSҳࢿ )"दझమ%3ҳࢿ

    ਍৔ )" %3 .Z42- .Z42- *%$ *%$ • 5ZQF.JOPS 4JOHMF4JOHMF)" • 5ZQF.BKPS 4JOHMF4JOHMF%3 .Z42- .Z42- )"दझమ *%$ *%$ • 5ZQF.BKPS *%$%3 .Z42- )"दझమ *%$ .Z42- .Z42- )"दझమ )"दझమ • 5ZQF/FYU(FO *%$%3 *OOP%#$MVTUFS .Z42- .Z42- .Z42- .Z42- .Z42- .Z42-
  15. *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ୭ࣗ*%$%3 ੌ֢ࠗࣗࣻ٘ )"दझమ%3ҳࢿ ߔস߂࠙ࢳӝמઁೠ അ੤ҳࢿ ࢚ݶࠗ઒੉ग۽ੌࠗࢲߡ%3޷੸ਊ о࢚੢࠺ੋझఢझӝزࠛמ )"दझమ%3޷੸ਊ

    ਍৔ )" %3 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- *%$ *%$ • 5ZQF.BKPS 4JOHMF4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF)" )"दझమ *%$ *%$ • 5ZQF.JOPS 4JOHMF4JOHMF%3 • 5ZQF.BKPS *%$%3 1PTUHSF42- )"दझమ 1PTUHSF42- *%$ 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- )"दझమ )"दझమ 1PTUHSF42-
  16. *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ୭ࣗ*%$%3 ੌ֢ࠗࣗࣻ٘ )"दझమ%3ҳࢿ ߔস߂࠙ࢳӝמઁೠ അ੤ҳࢿ ࢚ݶࠗ઒੉ग۽ੌࠗࢲߡ%3޷੸ਊ о࢚੢࠺ੋझఢझӝزࠛמ )"दझమ%3޷੸ਊ

    ਍৔ )" %3 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- *%$ *%$ • 5ZQF.BKPS 4JOHMF4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF)" )"दझమ *%$ *%$ • 5ZQF.JOPS 4JOHMF4JOHMF%3 • 5ZQF.BKPS *%$%3 1PTUHSF42- )"दझమ 1PTUHSF42- *%$ 1PTUHSF42- 1PTUHSF42- 1PTUHSF42- )"दझమ )"दझమ 1PTUHSF42-
  17. ਍৔ )" %3 %3֢٘झಖ࠺؀ட അ੤ҳࢿ ੢গद3FBE0OMZ਍৔ 03$ 03$ 03$ 03$

    03$ 03$ *%$ *%$ • 5ZQF.BKPS 3"$3"$%3 • 5ZQF.BKPS 3"$4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF%3 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ *%$ *%$ • 5ZQF.BKPS 3"$3"$%3 • 5ZQF.BKPS 3"$4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF%3 03$ 03$ %3֢٘झಖݒட ѐࢶ੼ 0SBDMF
  18. ਍৔ )" %3 %3֢٘झಖ࠺؀ட അ੤ҳࢿ ੢গद3FBE0OMZ਍৔ 03$ 03$ 03$ 03$

    03$ 03$ *%$ *%$ • 5ZQF.BKPS 3"$3"$%3 • 5ZQF.BKPS 3"$4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF%3 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ 03$ *%$ *%$ • 5ZQF.BKPS 3"$3"$%3 • 5ZQF.BKPS 3"$4JOHMF%3 • 5ZQF.JOPS 4JOHMF4JOHMF%3 03$ 03$ %3֢٘झಖݒட ѐࢶ੼ 0SBDMF
  19. ֢٘زद੢গद3FBE0OMZ۽੹ജ അ੤ҳࢿ о࢚੢࠺ੋझఢझӝزࠛמ *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ਍৔ )" %3 *%$ *%$

    • 5ZQF.JOPS 144144 • 5ZQF.BKPS %$%3 .POHP%# .POHP%# *%$ .POHP%# .POHP%# .POHP%# .POHP%# *%$ *%$ • 5ZQF *%$%3 .POHP%# *%$ .POHP%# .POHP%# .POHP%#
  20. ֢٘زद੢গद3FBE0OMZ۽੹ജ അ੤ҳࢿ о࢚੢࠺ੋझఢझӝزࠛמ *%$ҳࢿߔস࠙ࢳ࢚दоਊ ѐࢶ੼ ਍৔ )" %3 *%$ *%$

    • 5ZQF.JOPS 144144 • 5ZQF.BKPS %$%3 .POHP%# .POHP%# *%$ .POHP%# .POHP%# .POHP%# .POHP%# *%$ *%$ • 5ZQF *%$%3 .POHP%# *%$ .POHP%# .POHP%# .POHP%#
  21. $MVTUFS%3৮ܐ അ੤ҳࢿ ѐࢶ੼ ҳઑ੸ѐࢶ੼হ਺ ਍৔ )" %3 *%$ *%$ •

    5ZQF.BKPS $MVTUFS%3 /PEF /PEF /PEF /PEF /PEF /PEF *%$ *%$ *%$ • 5ZQF ௿۞झఠࠂઁ ৮ܐ /PEF /PEF /PEF /PEF /PEF /PEF ॳӝزӝച )#BTF
  22. $MVTUFS%3৮ܐ അ੤ҳࢿ ѐࢶ੼ ҳઑ੸ѐࢶ੼হ਺ ਍৔ )" %3 *%$ *%$ •

    5ZQF.BKPS $MVTUFS%3 /PEF /PEF /PEF /PEF /PEF /PEF *%$ *%$ *%$ • 5ZQF ௿۞झఠࠂઁ ৮ܐ /PEF /PEF /PEF /PEF /PEF /PEF ॳӝزӝച )#BTF
  23. $MVTUFS%3೙ਃ അ੤ҳࢿ ௿۞झఠ׮઺ച ѐࢶ੼ ਍৔ )" %3 *%$ *%$ •

    5ZQF.BKPS 4JOHMF$MVTUFS /PEF /PEF /PEF *%$ *%$ *%$ • 5ZQF ௿۞झఠࠂઁ ৮ܐ /PEF /PEF /PEF /PEF /PEF /PEF %SVJE
  24. $MVTUFS%3೙ਃ അ੤ҳࢿ ௿۞झఠ׮઺ച ѐࢶ੼ ਍৔ )" %3 *%$ *%$ •

    5ZQF.BKPS 4JOHMF$MVTUFS /PEF /PEF /PEF *%$ *%$ *%$ • 5ZQF ௿۞झఠࠂઁ ৮ܐ /PEF /PEF /PEF /PEF /PEF /PEF %SVJE
  25. *%$р֢٘࠙࢑ ѐࢶ੼ ௿۞झఠ׮઺ച ਍৔ )" %3 $MVTUFS%3೙ਃ അ੤ҳࢿ *%$ *%$

    • 5ZQF.BKPS 4JOHMF$MVTUFS • 5ZQF.JOPS $MVTUFS%3 /PEF /PEF /PEF /PEF /PEF /PEF /PEF /PEF /PEF *%$ *%$ *%$ /PEF /PEF • 5ZQF *%$р֢٘࠙࢑ /PEF • 5ZQF ӝઓ௿۞झఠࠂઁ /PEF /PEF /PEF /PEF /PEF /PEF )BEPPQ
  26. *%$р֢٘࠙࢑ ѐࢶ੼ ௿۞झఠ׮઺ച ਍৔ )" %3 $MVTUFS%3೙ਃ അ੤ҳࢿ *%$ *%$

    • 5ZQF.BKPS 4JOHMF$MVTUFS • 5ZQF.JOPS $MVTUFS%3 /PEF /PEF /PEF /PEF /PEF /PEF /PEF /PEF /PEF *%$ *%$ *%$ /PEF /PEF • 5ZQF *%$р֢٘࠙࢑ /PEF • 5ZQF ӝઓ௿۞झఠࠂઁ /PEF /PEF /PEF /PEF /PEF /PEF )BEPPQ