당근 채팅 시스템은 어떻게 만들까? | 2024 당근 테크 밋업
당근 밋업 당근 · YouTube
AI 핵심 요약
당근 채팅은 서버가 한 대일 때는 로컬 세션으로 메시지를 전달할 수 있지만, 서버가 늘면 다른 서버에 연결된 사용자에게 닿지 않는 문제가 생긴다. 이를 해결하기 위해 공유 키-값 저장소에서 사용자의 접속 서버를 찾고, 메시지 큐와 컨슈머를 통해 서버 간 릴레이를 비동기로 처리했으며, 그룹 채팅은 수신자를 묶고 청크 단위로 나눠 전달했다. 저장소는 채팅방·사용자 데이터의 조회 방식에 맞춰 샤딩하고, 관리형 AWS DynamoDB로 이전해 확장성을 확보했으며, Go 고루틴과 Kafka를 활용해 API 응답 시간을 줄였다. 접속 정보의 불일치나 부분 실패를 고려해 저장소를 맹신하지 않고, 작업을 병렬화하거나 비동기화할 때 데이터의 중요도와 복구 가능성을 함께 판단해야 한다는 점을 공유했다.
- 서버별 로컬 메모리에 세션을 두는 구조에서는 다른 서버에 연결된 사용자에게 직접 전달할 수 없으므로, 공유 키-값 저장소로 접속 서버를 찾고 메시지 큐와 컨슈머로 릴레이를 분리한다.
- 그룹 채팅은 사용자별 이벤트를 무작정 발행하기보다 여러 사용자 ID를 묶어 처리하고, 큰 대상 목록은 청크로 나눠 타임아웃 위험을 낮춘다.
- 채팅 데이터는 조회 패턴에 맞춰 샤드 키를 정한다. 메시지처럼 채팅방 단위로 읽는 데이터는 채팅방 ID, 사용자 기반 데이터는 사용자 ID를 기준으로 분산한다.
- Go 고루틴으로 독립적인 읽기·쓰기 작업을 병렬화하고, 응답을 기다릴 필요가 없는 후속 작업은 고루틴이나 Kafka 컨슈머로 비동기 처리한다.
- 공유 저장소의 접속 정보는 서버 장애 뒤 오래된 값이 남을 수 있으므로, 실제 세션이 없음을 확인하면 푸시 알림을 보내고 잘못된 정보를 정리한다.
소개
당근 채팅 시스템이 탄생한 과정을 소개해요. 당근의 수많은 사용자들이 실시간으로 메시지를 주고받는 방법과 이를 효율적으로 저장하는 방식이 궁금하지 않으신가요? 이 세션에서는 먼저 메시지 전달의 기본 원리를 살펴본 후, 서버가 2대일 때 발생하는 메시지 동기화 방법과 서버 간 비동기 처리 방식을 설명해요. 저장 측면에서는 필요한 기능, 스키마 설계, 스케일 업, 인덱싱, 쿼리 최적화, 캐싱 기법 등 다양한 주제를 다루어요. 또한 리플리케이션과 샤딩, 채팅 데이터의 분할 방법 및 저장소 마이그레이션 경험을 쉽게 이야기하려 해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/
비슷한 학습 자료
컨퍼런스 당근 밋업
당근의 회원 시스템을 마이크로서비스로 분리하기 | 2024 당근 테크 밋업
컨퍼런스 당근 밋업
프레임워크부터 플랫폼까지: 당근 웹뷰 플랫폼 | 2024 당근 테크 밋업
컨퍼런스 당근 밋업
아이콘, 브랜딩 에셋까지 디자인시스템으로 | 2024 당근 테크 밋업
컨퍼런스 당근 밋업
‘디자인시스템’하면 무엇이 떠오르나요? 컴포넌트 제작, 스펙 정의, 문서 작업과 같은 업무들이 떠오르는데요. 이 외에도 당근에는 다양한 문제들이 있었고 이를 해결해 왔어요. 아이콘은 어떤 식으로 관리하고 배포해야 하는지, 브랜딩 에셋은 어떤 식으로 관리할지, 지속 가능한 시스템은 어떻게 구축할지와 같은 문제들이 있었어요. 여러분이라면 이 문제들을 어떻게 해결하시겠어요? 제가 당근에서 이 문제를 해결한 경험을 들려드릴게요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/
프론트엔드 UI/UX
컨퍼런스 당근 밋업
당근마켓 성장과 함께 쌓아온 안정적인 인프라 구축과 운영 노하우를 당근마켓 SRE 팀에서 공유합니다. 이번 SRE 밋업에서는 사내 개발자 플랫폼 개발과 관련된 다양한 세션을 준비했습니다. 🥕발표자료: https://daangn.notion.site/SRE-c62abc2b6f0347a4ace9ee9cdfc49b6b?pvs=4 🥕 당근 SRE에 지원하기: https://about.daangn.com/jobs/ * 1회 밋업 다시보기: https://youtube.com/playlist?list=PLaHcMRg2hoBqWWla-pCBSRqU-jSriiZHj * 2회 밋업 다시보기: https://youtube.com/playlist?list=PLaHcMRg2hoBqJRSlnE7Xw_QpVkf8u6ISH
데브옵스 · 인프라
컨퍼런스 당근 밋업
2022 당근마켓 프로덕트 디자이너 채용설명회
컨퍼런스 당근 밋업
🥕 2026 당근 빌더 밋업 | Platform Day 하이퍼로컬, 가장 거대한 현장 4,300만 명이 가입한 서비스를 만드는 당근 빌더들은 어떤 문제를 풀고 있을까요? 하나의 프로덕트를 처음부터 끝까지 책임지고, 직군의 경계를 넘나들며 함께 답을 찾아가는 당근 빌더들의 고민과 시도, 성공과 실패의 경험을 솔직하게 나눠요. 엔지니어 동료들이 더 빠르게, 더 큰 문제에 집중할 수 있도록 당근의 플랫폼은 끊임없이 발전해요. 다양한 기술과 아키텍처를 여러 서비스가 함께 쓰는 플랫폼으로 만드는 과정부터 AI와 함께 일하는 새로운 방식까지, 당근 플랫폼 개발자들이 현장에서 마주한 고민과 시행착오를 만나보세요. 👉 당근 채용 바로가기 : https://careers.daangn.com/
웹 개발