강의

멘토링

로드맵

Inflearn brand logo image
BEST
개발 · 프로그래밍

/

백엔드

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

대용량 데이터를 처리하기 위한 가장 기본적인 방법인 비동기 아키텍처를 적용하기 위한 RabbitMQ 활용 방법을 SpringBoot 3.3 기반으로 기초부터 활용까지 쉽게 이해할 수 있도록 Toturial 형태로 습득합니다.

(4.8) 수강평 25개

수강생 393명

  • 코드빌런
미들웨어
tutorial
비동기처리
이론 실습 모두
대용량
JavaJPASpring Bootrabbitmqwebsocket

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 기술면접에서 물어보는 비동기 아키텍처와 분산처리의 이해

  • AMQP 특징과 RabbitMQ의 이해

  • SpringBoot 기반의 RabbitMQ 단계별 예제 습득

  • DB 연동과 메시지 큐의 Transaction 처리하기

  • Exchange와 Routing Model의 이해

  • Pub/Sub을 이용한 실시간 알람 시스템 구현하기

  • Routing Model을 활용한 Log 수집하기

  • Dead Letter Queue와 Retry를 이용한 재처리 방안

RabbitMQ를 활용한 비동기 아키텍처 한방에 해결하기

대용량 트래픽을 처리하기 위한 가장 기본이 되는 RabbitMQ를 활용한 비동기 아키텍처에 대해 이해합니다.

  • 가장 기본인 메시지 전송부터 고급활용인 Transaction 처리까지 한방에 이해할 수 있는 기본 예제와 개념 설명


  • Java와 Spring의 기초만 있어도 따라서 코딩하는데 전혀 문제가 없습니다.


  • 기초부터 활용까지 Step by Step 형태로 단계별 Tutorial 학습을 통해 쉽게 이해할 수 있습니다.


#RabbitMQ #비동기아키텍처 #SpringBoot #JPA #MSA

이런 내용을 배워요

AMQP 아키텍처 컨셉

서로 다른 시스템간에 최대한 효율적인 트래픽을 처리하기 위한 메시지 교환 프로토콜인 AMQP와 RabbitMQ에 대해서 학습합니다.

AMQP 컨셉

Routing Model과 Exchange 유형별 예제 따라하기

혼동하기 쉬운 Routing Model Components와 Exchange 유형에 따른 애플리케이션을 초급, 중급, 고급 활용까지 스텝 바이 스텝으로 따라하며 배웁니다.

FanoutExchange, TopicExchange, DirectExchange, HeaderExchange의 특징과 활용 방법에 대해서 알아봅니다.

WebSocket과 STOMP를 이용한 실시간 알람 구현

간단한 웹 페이지에서 WebSocket을 이용한 실시간 알림 시스템을 구현합니다. 개발중에 생길 수 있는 에러와 그에 따른 해결책을 코드를 통해 이해하고 통신의 개념에 대해서 이해합니다.

#WebSocket #STOMP

WebSocket Pub/Sub process

MSA로 가기 위해 어떤 방식으로 비동기 아키텍처를 활용해서 Dead Letter를 처리하는지 이해할 수 있습니다.

#JPA #MSA #DLQ

트랜잭션 처리 방식에 대해서 살펴보고 TCC를 통해 데이터 대사와 보정을 적용할 수 있습니다.

수강 전 참고 사항

실습 환경

  • Mac에서 실습하지만, RabbitMQ는 설치가 쉽기 때문에 윈도우/리눅스 환경에서도 가능합니다.

  • 사용 도구: Spring Boot 3.3 / 최신 버전의 RabbitMQ(4.0.3), IntelliJ

학습 자료

  • PDF로 학습자료가 제공되며, 각 단계별 예제는 Github에 챕터별 브랜치로 나눠 제공합니다.

  • 각 챕터별 강의 자료 PDF가 첨부 되어 있습니다.

  • 필요한 예제가 추가로 더 있다면 학습 게시판에 요청해주세요.

선수 지식 및 유의사항

  • Java 문법의 이해

  • Spring Boot에 대한 기본 수준의 이해, Spring을 몰라도 코드를 따라하면서 학습 하실 수 있습니다.

  • 대용량 데이터나 트래픽을 처리하기 위한 기본 지식들을 학습해보고자 하는 분

  • 본 강의는 따라하기를 통해 조금씩 예제의 단계가 올라가는 형태입니다. 최대한 입문자도 쉽게 이해할 수 있도록 상세하게 코드 레벨에서 설명을 드리므로 반드시 코드를 작성해보는 것을 추천 드립니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 취업, 이직을 위해 기본적인 비동기 아키텍처의 개념을 잡고자 하는 분

  • 대용량 처리를 위한 기본적인 아키텍처를 배우고 싶으신 분

  • 부하 분산을 위한 비동기 시스템을 구축하려고 하는 분

  • 자바/스프링의 기본 지식을 습득한 뒤 아키텍처를 공부하려고 하는 분

  • 비동기 아키텍처를 실 서비스에 적용하고자 하는 분

선수 지식,
필요할까요?

  • Java

  • Spring

안녕하세요
입니다.

2,690

수강생

101

수강평

35

답변

4.9

강의 평점

4

강의

19년차 백엔드 개발자


  • Kakao (2018 ~ 2024, 리더)

  • LF (LG Fashion, 2017, IT 플랫폼팀 차장)

  • 쿠팡 (2013~2017, Sr. Software Engineer)

  • 오픈소스 개발자 대회 은상 (2012. 지식경제부, NIPA)

주요 분야
Java, Spring, MSA 환경에서 오랜 시간 일을 하였습니다. 대용량 데이터 처리 및 마이크로 서비스 아키텍쳐 설계, 복잡한 도메인의 엔티티 설계 경험과 팀을 이끌어본 경험을 통해 기술적 지식과 10년 이상의 면접관 경험을 통해 인터뷰를 준비하는 방법과 커리어의 로드맵 방향을 잡는데 도움을 드리고 싶습니다.


강의 경력

  • 2024.11 대구대학교 경산이노베이션 아카데미 취업 특강

  • 2024.10 한빛미디어 주니어 개발자를 위한 취업 세미나 2차 특강

  • 2024.09 부산대학교 SW융합교육원 취업 특강

  • 2024.04 한빛미디어 주니어 개발자를 위한 취업 세미나 특강

     

저서 (개발자 기술 면접 노트, 한빛미디어, 2024.03)

  • 교보문고 실시간 검색 1위 (2024.04.07)

커리큘럼

전체

22개 ∙ (5시간 4분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

25개

4.8

25개의 수강평

  • chaeyeon_kim님의 프로필 이미지
    chaeyeon_kim

    수강평 2

    평균 평점 5.0

    5

    100% 수강 후 작성

    • 하승수님의 프로필 이미지
      하승수

      수강평 9

      평균 평점 4.8

      3

      36% 수강 후 작성

      솔직하게 제가 느낀 점으로만 수강평 작성하도록 하겠습니다. 전체적인 내용이 RabbitMQ의 개념을 확실하게 다룬다기보단 거의 실습 위주인 것 같은데 사이사이에 사용되는 용어들이나 개념들에 대한 설명이 부족한 것 같습니다. 개념들을 시각적인 자료를 활용해서 보여주시면서 설명 하셨으면 더 좋았을 것 같네요. 그냥 이건 이런 뜻이고 이런 이거다 라고 텍스트만 있고 말로 한번 하시고 넘어가니 부족하다고 느낄 수 밖에 없는 것 같습니다. 말씀 하시는 것도 매끄럽지 못하고 인텔리제이 테마? 쓰신 것도 개인적으로 가독성이 떨어진다고 느꼈습니다. 전체적으로 전달력이 많이 떨어지는 강의 였습니다. 아직 35퍼센트 정도밖에 수강 하지 않았다만 커리큘럼을 봤을 때 초반부보다 후반부가 더 나을 것 같진 않네요. 실습 하실 때도 개념을 먼저 확실히 잡고 실습을 통해 리마인드 하는 방식으로 진행되면 좋을텐데 RabbitMQ에 대한 기본 개념들을 알고 있다고 가정한 듯이 진행이 되어서 RabbitMQ를 처음 접하시는 분들에겐 추천하고 싶지 않은 강의였습니다.

      • 코드빌런
        지식공유자

        안녕하세요. 하승수님, 부족한 강의 들어주셔서 감사합니다. 일단 용어는 4. AMQP의 이해와 5. 주요용어와 Exchange의 이해에 나온 개념들이 RabbitMQ 주요 개념의 대부분을 차지하는 개념입니다. 이 용어만 알면 나머지는 강의를 진행하는데 문제되지 않는 수준이라 15분 내외의 이론 지식만 있으면 나머지는 실습을 통해 해소하실 수 있습니다. 이 강의의 컨셉에 대해서는 무료 소개 섹션 (1.강의컨셉과 목차설명) 에 자세히 소개하드렸는데요, 본 강의는 스텝 1부터 스텝 14까지 단계별로 따라하기 식의 튜토리얼 컨셉입니다. 따라서 자바와 스프링 정도만 이해하고 있고, 용어만 이해하고 있다면 실습 코드로 따라하며 단계별로 좀 더 어려운 개념을 이해하면서 넘어갈 수 있도록 작성된 강의 입니다. 각 강의는 초반에 개발해야 할 주제와 알아야 할 개념을 개별적으로 각각 설명한 뒤, 그 개념을 이해하기 위한 코드들을 직접 같이 구현하면서 개념을 이해하는 방식으로 설명을 드리고 있습니다. 이미 작성된 코드를 가져와서 리뷰하는 형태가 아니로 실제로 코드를 작성해가면서 강의 하나가 완성되 가는 형태로 진행이 됩니다. 따라서 전체 강의를 들으시면 이 강의의 내용만으로 충분히 실무에서 RabbitMQ의 도입 여부에 대한 판단과 비동기 아키텍처에 대한 적용이 가능합니다. 인텔리제이의 경우 자바 개발자들에게는 필수적인 개발 툴이고, 화면상에 스킨은 기본 디폴트 스킨입니다. 저는 개인적으로 Dacula (다크) 테마를 쓰는데, 기본 테마를 사용한 이유는 동영상으로 다크 테마를 보면 눈이 침침하고 아프다는 피드백이 있어서 인텔리제이의 기본 테마로 작성되었습니다. 참고하시기 바랍니다. 소중한 의견 주셔서 감사합니다.

    • e1910050님의 프로필 이미지
      e1910050

      수강평 1

      평균 평점 5.0

      5

      32% 수강 후 작성

      • dovely님의 프로필 이미지
        dovely

        수강평 6

        평균 평점 5.0

        5

        32% 수강 후 작성

        • principle950님의 프로필 이미지
          principle950

          수강평 4

          평균 평점 5.0

          5

          95% 수강 후 작성

          ₩39,600

          코드빌런님의 다른 강의

          지식공유자님의 다른 강의를 만나보세요!

          비슷한 강의

          같은 분야의 다른 강의를 만나보세요!