카카오워크 메시징 엔진의 Rust 교체 개발 사례 from C / if(kakaoAI)2024
if kakao 카카오 · YouTube
AI 핵심 요약
카카오워크의 기존 C++ 메시지 전송 서버는 웹소켓 송수신과 gRPC 호출에 블로킹 API를 사용해, 부하가 커질수록 스레드와 CPU 사용량이 늘고 안정성도 우려되는 문제가 있었다. 발표자는 C에서 콜백 기반 비동기 I/O로 전면 전환하는 대신 Rust를 선택해 Flight 서버를 새로 개발하고, 소유권·빌림 규칙과 비동기 처리를 활용해 메모리 및 멀티스레드 안전성을 확보했다. 샌드박스와 스트레스 테스트, 사내 사용자 대상 검증을 거쳐 프로덕션에 단계적으로 적용했으며, 발표 시점까지 초기 마이너 버그 수정 이후 안정적으로 동작했고 배포 전보다 CPU 사용량이 줄었다고 설명했다. Rust 학습과 비동기 코드 이해에 시간이 들었지만, 이후 기능을 추가하고 유지보수할 때 안정성을 높이는 데 그 비용을 들일 가치가 있다는 것이 발표의 교훈이다.
- 블로킹 I/O가 있는 스레드풀은 스레드 수를 늘려도 과부하 시 CPU 사용량이 급증하고 처리 효율이 떨어질 수 있다.
- Rust의 소유권과 빌림 규칙은 메모리 수명뿐 아니라 스레드 간 공유 접근도 컴파일 시점에 검증한다.
- 여러 스레드에서 변경 가능한 데이터를 공유할 때는 `Arc<Mutex<T>>`처럼 공유 소유권과 동기화를 함께 설계해야 한다.
- Rust 비동기 코드는 학습 부담이 크므로, `async/await`와 런타임의 동작을 이해하는 시간을 개발 계획에 반영해야 한다.
소개
기존에 C++로 개발된 카카오워크의 대량 트래픽 메시징 엔진을 Rust 기반으로 리팩토링 및 고도화한 사례를 다룹니다. Rust의 장점을 활용하여 메모리 안전성을 확보하고 성능을 개선했던 방법을 공유하며, 기 제공중인 서비스와의 안정적인 교체 사례도 함께 소개합니다. #RUST #메신저 KakaoWork 메시징 서버 개발하고 있는 Robby입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-68 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
비슷한 학습 자료
컨퍼런스 if kakao
은행의 세밀한 내부 통제 환경에서 인프라 리소스를 최적화하고, 효율적으로 관리하기 위해 On-premise Kubernetes 아키텍처를 구축했습니다. 클러스터 프로비저닝 과정부터 망 분리 환경에서의 네트워크 통제 및 운영 정책 관리 방법을 소개합니다. #인프라 #리소스최적화 #온프렘 #쿠버네티스 #아키텍처 #망분리 카카오뱅크에서 On-Premise Kubernetes 엔지니어링을 담당하고 있는 Robin입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-72 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
데브옵스 · 인프라 클라우드
컨퍼런스 if kakao
카카오 서비스들은 어떻게 CI/CD 를 하는가? / if(kakaoAI)2024
컨퍼런스 if kakao
수 천개의 쿠버네티스 멀티 클러스터 위에서 동작하는 카카오의 서비스들이 어떻게 CI/CD를 하는 지를 설명하고, GitOps, MSA 등의 개발 철학을 지키면서 클라우드 전환 이후 생긴 문제들을 해결하기 위한 CI/CD Pipeline 플랫폼 설계에 필요했던 고민을 공유하려 합니다. 또한 외부 솔루션 사용에 대한 고민, 자체 서비스 구축을 통한 비용 절감에, 두 번의 리팩토링을 통해 얻은 교훈들 그리고 시간을 돌려 다시 만든다면 어떤 부분을 다르게 할 것인지에 대한 생각도 함께 전합니다. #cloud #CI/CD 카카오 클라우드 컴퓨팅에서 CI/CD 플랫폼을 개발 운영하고 있는 Peny입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-70 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
데브옵스 · 인프라
컨퍼런스 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
카카오 T 대리 신규 커넥션 서버 개발기 / if(kakao)2022
컨퍼런스 if kakao
본 세션에서는 카카오 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
이번 세션에는 카카오워크 서버 개발에 주로 사용하는 함수형 언어 엘릭서에 대해 소개해 드리고 여러 어려움에도 불구하고 저희가 엘릭서를 계속 사용하도록 이끌어준, 엘릭서의 실용주의적 특징들을 자세히 소개해드리도록 하겠습니다. #함수형프로그래밍 #DeveloperExperience 카카오엔터프라이즈에서 카카오워크 서버를 개발하는 walter 입니다. 실용주의를 추구하고 암벽을 오릅니다. 카카오엔터프라이즈에서 카카오워크 서버를 개발하는 woogie 입니다. 재미있는 개발을 추구합니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-38 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022 #Elixir #함수형프로그래밍 #DeveloperExper...
백엔드 프로그래밍 언어
컨퍼런스 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
백엔드 프로그래밍 언어