카카오 T 대리 신규 커넥션 서버 개발기 / if(kakao)2022
if kakao 카카오 · YouTube
AI 핵심 요약
기존 커넥션 서버는 데이터센터 이전 대상에서 지원하지 않는 UDP 멀티캐스트 기반 클러스터링에 의존했고, 프레임워크를 업그레이드하면 대규모 코드 변경이 필요해 새 서버를 개발했다. Spring Boot와 Java 소켓 라이브러리로 TCP·웹소켓·HTTP 통신을 구성하고, Redis Pub/Sub와 글로벌 맵·로컬 맵을 조합해 소켓 연결 상태를 유지하면서 수평 확장할 수 있도록 설계했다. 연결 실패 시 푸시 알림으로 대체하고, 만료 시간과 정리 작업으로 끊어진 연결 데이터를 관리했으며, 성능 테스트와 DNS 전환을 거쳐 신규 서버를 도입했다. 발표에서 공유한 운영 지표에서는 메시지 전송 실패가 없었고, 인프라 비용도 기존보다 약 5% 적었다.
- Redis Pub/Sub 채널을 인스턴스별로 나누면 소켓 연결 상태를 각 서버에 두면서도 메시지를 해당 연결이 있는 인스턴스로 전달할 수 있다.
- 공유 상태인 클라이언트 ID-호스트명 매핑과 인스턴스 내부의 클라이언트 ID-소켓 객체 매핑을 분리해 관리한다.
- 롤링 배포 시 인스턴스를 먼저 라우팅 대상에서 제외하고 기존 연결을 정리해야 종료 과정의 신규 연결과 메시지 유실을 줄일 수 있다.
- 연결이 끊긴 클라이언트의 메시지는 푸시 알림으로 대체하고, Redis 만료 시간과 주기적인 정리 작업으로 남은 연결 데이터를 제거한다.
소개
본 세션에서는 카카오 T 대리 서비스에서 소켓 통신을 담당하는 커넥션 서버를 왜 새롭게 개발하게 되었는지 말씀드리고, 새롭게 개발한 커넥션 서버의 설계와 그 구현 방법에 대해서 소개하겠습니다. 그리고 개발 과정에서 마주했던 문제들과 그 해결책들을 공유드리겠습니다. #NetworkSocket 카카오모빌리티에서 카카오 T 대리 서비스의 백엔드 개발을 맡고 있는 제이입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-34 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
비슷한 학습 자료
컨퍼런스 if kakao
업무 효율화를 위한 카카오 사내봇 개발기 / if(kakaoAI)2024
컨퍼런스 if kakao
카카오 내에 수많은 데이터에서 원하는 데이터를 빠르게 찾아주는 '0depth 사내봇 개발기'를 공유합니다. #Data #AI #LLM #RAG 카카오 데이터 조직의 Tory입니다. 실용적이고 사용자 친화적인 AI Application을 만드는 것에 관심이 많습니다. 카카오 내에 다양한 AI 프로덕트를 생산하는 Jennie입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-27 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
AI에이전트 개발
컨퍼런스 if kakao
알림 서비스로 시작하는 서버 개발 / if(kakao)2022
컨퍼런스 if kakao
카카오뱅크의 알림서비스를 소개합니다. 안정적이고 지속가능한 서비스를 위해 뭘 선택했고 그 선택에는 어떤 장단점이 있는지, 더 나아가 그 단점을 보완하는 과정을 알 수 있습니다. #MessageQueue #Scale-out 카카오뱅크에서 서버 개발자로 일하고 있는 mason입니다. 수신/여신/인증 등 다양한 부분에서 개발하고 있으며, 더 나은 코드를 작성하기 위해 노력하고 있습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-36 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
백엔드 데이터베이스
컨퍼런스 if kakao
카카오 분석플랫폼 변천사 / if(kakao)2022
컨퍼런스 if kakao
카카오내 수천억건이 넘는 데이터 환경에서 비즈니스 의사 결정을 도울 수 있는 데이터 분석플랫폼을 구축한 사례를 분석 플랫폼의 변화 과정을 통해 공유 드리고자 합니다. #AnalysisPlatform 카카오 데이터 연구실에서 데이터분석플랫폼을 개발하고 있는 jay 라고 합니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-61 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
데이터베이스 인공지능 기타
컨퍼런스 if kakao
카카오페이 서버 개발자로 일한다는 것 / if(kakao)2022
컨퍼런스 if kakao
카카오페이 서버 개발자들이 참여하는 프로젝트와 사용하는 기술, 협업 방식과 기술 문화에 대해 이야기합니다. #Backend #기술문화 #서비스개발 카카오페이 오프라인결제서비스에서 서버 개발을 하고 있는 Happy입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-102 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
백엔드 애자일 · 협업
컨퍼런스 if kakao
10년간 카카오톡 메시지 릴레이를 책임져온 C++ 기반 서버를 JVM 기반 언어(JAVA 및 Kotlin)로 포팅하는 이야기를 합니다. 위 프로젝트를 진행하게 된 계기를 소프트웨어 엔지니어링 측면으로 설명하고, 현재까지 진척 상황에 대한 이야기를 공유합니다. #카카오톡 카카오톡 메시징 시스템을 개발 및 운영하는 시리우스 입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-28 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
백엔드 프로그래밍 언어
컨퍼런스 if kakao
카프카, 대규모 클러스터 운영 후기 / if(kakao)2022
컨퍼런스 if kakao
카프카는 데이터 흐름을 모아주는 실시간 분산 스트리밍 플랫폼으로 이제는 대다수 기업이 필수적으로 활용하는 오픈소스가 되었습니다. 카카오 전반적인 업무서비스에서 이용하는 카프카 공용 대규모 클러스터를 운영하면서 고려하고 진행했던 것에 대해 공유하고자 합니다. #Kafka #Infrastructure 카카오에서 시스템엔지니어링 업무를 담당하고 있으며, 전사 Kafka 클러스터를 관리하고 있는 데이비스입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-66 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
백엔드 데브옵스 · 인프라