대규모 채팅 플랫폼으로 한 번에 끝내는 실전 대용량 트래픽 커버 완전판
대규모 트래픽 처리가 필요한 가장 대표적인 도메인 채팅 서비스!
막상 구현하려고 강의나 블로그 레퍼런스 찾아보고 많이 실망하셨죠?
그래서 준비했습니다!
단순 웹소켓 실습만 만들어보고 대용량 트래픽 핸들링까지 할 수 있다고 말하는 강의와 다릅니다.
이 강의 하나로 진짜 대규모 서비스/대용량 트래픽 경험을 완벽하게 하게 해 드립니다.
POINT 1
20여개의 서버로 만들어진 대규모 채팅 플랫폼을 단계별로 구축하며
마스터하는 대규모 서비스 개발 & 트래픽 처리
상용 채팅 서비스와 유사한 규모로 1:1 단일 채팅, 단체 채팅 기능부터 핵심 기능을 구현하며
실시간 대규모 트래픽을 견디는 백엔드 아키텍쳐를 완벽하게 경험할 수 있는 채팅 플랫폼을 만들어봅니다.
| 학습 내용
· Rest API와 WebSocket의 차이
· 프로토콜 기반 다이렉트 메세지
· 메시지 브로드 캐스팅
· 페이크 콘솔 채팅 클라이언트 구현
| 학습 내용
· Http Session과 Spring Security 기반의 사용자 인증 기능, 세션 정보 유지
· JPA & MySQL 기반의 메시지 테이블 기반 대화의 기록 저장
· Spring 기반의 백엔드로 연결 요청, 수락, 거부, 삭제 처리
· 1:1 메세지와 그룹 메세지, 목업 푸시 알림 서비스 개발
*본 클라이언트 단 이미지는 목업 이미지입니다.
이렇게 많은 기능과 권한이 연결된 모놀리틱 플랫폼은
대규모 트래픽에 취약할 수 밖에 없어요!
| 학습 내용
· Spring 멀티 데이터소스 지원
· Redis 캐싱 레이어
· Nginx 기반의 로드밸런서 추가
· Redis 기반의 메시지 시퀸스 넘버 생성, 메시지 구간 요청 처리 기능
· DB 샤딩 & 레디스 클러스터링
| 학습 내용
· 단방향 & 양방향 카프카 연동
· 로드밸런서를 활용한 커넥션 서비스 분리
· Nginx 기반 로드 밸런서에 다중 인스턴스와 Consul 서비스 디스커버리 추가
이번 채팅 프로젝트 하나만으로도 대용량 트래픽 & 데이터 처리를 위한
기술 스택 15가지를 한 번에!
잠깐! 그래서 이 강의는 적절한 Redis & Kafka 도입 시기부터
사용 방법까지를 강사님과 함께 따라가며 학습합니다!
모놀리틱 서비스에서 발생할 수 있는 트래픽 부하 분산을
위해서는 꼭 알아야 할 필수 기술 스택을 실제 전환 단계에서 다뤄봅니다.
POINT 2
메시징 서비스 개발 경력만 5년, 도합 24년 경력의 강사님이 알려주는
실무에서 대규모 트래픽 대응을 위해 꼭 필요한 분산 시스템 전략 핵심 9가지
아직까지 캐싱은 레디스, 메세징은 카프카로 외워서 무작정 사용하셨다면 주목!
모놀리틱 서비스에서 MSA로 전환하기 위해서 고려해야 하는 아키텍쳐 단의 포인트를 기술 스택에 적용해 학습해야 합니다.
기술 스택 결정 과정에 대한 이해를 기반으로 구성한 커리큘럼으로 비로소 Redis, Kafka를 정복할 수 있습니다.
데이터베이스의 고가용성 확보를 위한 리플리카 & 샤딩 전략
스프링부트 JPA 내의 멀티 데이터소스 설정을 사용하여 읽기 전용 데이터베이스 레플리카를 만들어 조회 처리에 사용하여 DB 부하를 분산합니다.
트래픽 쏠림 발생 시 데이터를 분산하여 저장하는 샤딩을 통해 DB에 가해지는 부하를 병렬로 처리할 수 있게 하여, 확장성과 성능을 보장합니다.
성능 개선 및 데이터베이스 보호, 정합성 보장을 위한 Redis 활용
모놀리틱 서비스의 복잡도를 줄이고 분산 시스템을 만들기 위한 Kafka 활용
푸시 알림 서비스의 특징인, 사용자가 오프라인일 때만 알림을 보내면 되는 특징을 이해하여 서비스 복잡도를 줄이기 위해 단방향 카프카를 연동합니다.
커넥션 서버와 메시지 서버를 분리하는 이유는 성능 개선과 확장성을 위해 커넥션 관리 책임과 채팅 비즈니스 로직 관리 책임을 분리합니다.
대규모 트래픽 처리에서 장애 방지를 위해 고려해야하는 가장 중요한 2가지
책임 분리 & SPOF 제거까지 하나의 프로젝트에서 구현해봅니다!
모든 코드를 테스트하지 않기 위해서는 한 클래스에 너무 많은 책임을 부여하지 말고 단 하나의 책임 만 수행하도록 해서 변경 사유가 될 수 있는 것을 하나로 만들어야 한다는 것을 의미합니다.
책임 분리란?
전 서비스에 장애를 일으킬 수 있는 포인트, 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소를 의미합니다.
SPOF란?
POINT 3
24년차 개발자, 쿠팡과 카카오 면접관과 테크 인터뷰어,
카카오톡 메세징 서버 대규모 리팩토링까지 화려한 경력의 강사님이 완벽하게 구축한 프로젝트를 만나보세요.
-
누구나 인정하는 1티어 IT 기업 재직
쿠팡 & 카카오 테크
인터뷰어 -
깊이있는 멘토링 경험
F-lab, 인프런
멘토링 경험 -
실시간 & 대규모 트래픽 도메인
게임, 메세지, 풀필먼트
시니어 개발자
이번 강의는 친숙한 채팅을 서비스 도메인으로 선정하고 확장할 수 있는 채팅 플랫폼을 구현하기 위해 고가용성과 확장성을 확보하면서 SPOF를 제거해 나가는 형식으로 진행됩니다.
단순해 보이는 채팅 메시지를 주고받기 위해서 꽤 많은 처리가 필요함을 단순한 예제 수준의 코드가 아닌 수천 라인의 코드를 직접 만들어보면서 배울 수 있습니다. 특히 다양한 인프라 기술 스택을 하나씩 더해가며 점진적으로 하나의 큰 시스템을 구성하는 과정을 공부할 수 있도록 구성했습니다.
자바와 스프링 기본기를 공부하고 분산 백엔드 시스템이 어떻게 구성되는지 궁금한 분에게 도움이 되리라 생각하고, 다양한 백엔드 인프라 기술 스택이 언제, 왜 필요하고 어떻게 사용하는가를 학습하고 응용할 수 있기를 기대합니다.
어려워 보일 수 있지만 하나씩 차분히 함께하시면 크게 어렵지 않습니다.
여러분의 성장을 응원합니다.
[경력]
전) Coupang - Staff Back-end Engineer L6-2 IC
전) 카카오 - Senior Software Developer
전) NHN - 책임
POINT 4
앞선 개념들이 어려워보여도 걱정하지 마세요!
분산 시스템 설계의 핵심인 DB를 더 잘 이해하기 위한 특별한 부록 강의를 드립니다!
딱! 개발자가 알아야 할 만큼만 컴팩트하게 담아 풍부한 시각 자료를 통해 알기 쉽게 설명 드립니다.
대규모 트래픽을 위한 분산 시스템 설계에 기초가 되는 개념도
꼭꼭 씹어 소화하실 수 있도록 패캠이 알차게 담아 드려요!
본 강의는 대용량 트래픽 처리를 위한 데이터베이스 첫 걸음 강의 중 일부와 동일합니다.
6개월 무료 사용 쿠폰을 지원합니다.
Jetbrains사의 IntelliJ IDE Ultimate은 개인용 기준, 연간 요금 $169.00, 월별 요금 $16.90에 판매되고 있습니다. 선착순으로 쿠폰 소진시까지 참여 가능하며, 강의장 내 공지사항을 통해 신청 후 차주 수요일에 발급됩니다.
궁금한 점도 바로 해결하는 질의응답 커뮤니티 ✓ 실습 중 에러가 나면? 질의응답 채널을 통해 빠른 해결 !
✓ 강의를 듣는 중 이해가 안가는 부분이 생기면 바로 질문하세요 ! * 강사님의 질의응답은 2025.01.24~ 2028.1.24 동안 운영 됩니다.
* 강사님이 현업 중 답변하시기에 답변까지 영업일 기준 7일 내외 시간이 소요될 수 있습니다.
POINT 3
타사에서 제대로 찾기 어려운 고퀄리티 프로젝트를
이렇게 저렴한 가격에 평생소장까지!
수강 대상
자바와 스프링 기본기를 다진 후, 분산 백엔드 시스템이 어떻게 구성되는지 궁금한 분.
실시간, 대용량 트래픽을 커버하는 백엔드 개발을 경험하고 싶은 백엔드 개발자
채팅 서비스 개발을 통해서 포트폴리오를 업그레이드하고 싶은 백엔드 개발자
시니어 개발자와 개발 환경 세팅(IntelliJ, Docker, curl, MySQL Workbench)부터 프로젝트까지 완벽하게 해 보고 싶은 분






