이벤트 소싱을 활용해 확장 가능한 사내 플랫폼 만들기 | 당근 SERVER 밋업 2회
당근 밋업 당근 · YouTube
AI 핵심 요약
사내 플랫폼은 트래픽은 적어도 로직이 복잡하고 신뢰성이 중요해 감사 로그, 롤백, 권한 제어, 외부 시스템 연동을 갖춰야 했다. 이를 위해 Node.js, TypeScript, Fastify, MongoDB로 리모트 컨피그 서비스를 만들며 이벤트를 누적 저장하고 리듀서로 상태를 계산하는 이벤트 소싱을 적용했다. 엔티티 ID로 여러 설정 객체를 분리하고, 이벤트 처리 훅에서 변경에 따른 외부 연동을 관리해 요구 사항을 확장했다. 이벤트 이력은 감사와 과거 상태 복원에 활용할 수 있지만, 조회 성능을 위해 스냅샷이나 캐시를 도입할 때는 운영 비용도 함께 따져야 한다.
- 이벤트에는 이름, 고유 ID, 생성 시각, 내용을 담고, 리듀서가 이벤트와 이전 상태를 받아 다음 상태를 계산한다.
- 이벤트를 엔티티 ID로 구분하면 여러 객체의 변경 이력을 독립적으로 관리할 수 있다.
- 이벤트 처리 훅에 외부 연동 로직을 모으면 라우트 코드와 사이드 이펙트를 분리할 수 있다.
- 이벤트를 매번 재생하는 비용이 커지면 스냅샷이나 인메모리·Redis 캐시를 검토하되, 상태 저장소를 함께 운영하는 비용도 고려한다.
소개
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 이벤트 소싱을 활용해 확장 가능한 사내 플랫폼 만들기 (원지혁/UX 시스템실) #nodejs #audit #accesscontrol #webhook #eventsoucing 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
비슷한 학습 자료
컨퍼런스 당근 밋업
서킷브레이커 사용 방식 개선하기 | 당근 SERVER 밋업 2회
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 서킷브레이커 사용 방식 개선하기 (김광민/커뮤니티실) #kotlin #spring #circuitbreaker 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
백엔드 프로그래밍 언어 로드맵 1개에 담김
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 JavaScript 생태계를 이용해서 신사업 제품의 서버 개발하기 (김경덕/버티컬 사업실) #javascript #nodejs 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
백엔드 프로그래밍 언어
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 한 달 동안 만든 서비스, 일 년 반 만에 전국 오픈하기 (육진혁/커뮤니티실) #kotlin #spring 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
백엔드 프로그래밍 언어
컨퍼런스 당근 밋업
1,800만이 쓰는 서비스 운영하기 | 당근 SERVER 밋업 2회
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 1,800만이 쓰는 서비스 운영하기 (윤연호, 윤신웅/서비스 운영실) #rubyonrails 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
백엔드 프로그래밍 언어
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 모놀로틱 레거시 레포 개발자가 디컴프 과정을 겪으면서 느낀 심경의 변화 (이경원/중고거래실) #rubyonrails #system_decomposition #career 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
개발 · 프로그래밍 기타
컨퍼런스 당근 밋업
당근페이 금융 거래 통합 테스트 개발 이야기 | 당근 SERVER 밋업 2회
컨퍼런스 당근 밋업
당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 당근페이 금융 거래 통합 테스트 개발 이야기 (유호성/당근페이) #kotlin #testing 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW
소프트웨어 테스트