RabbitMQ in Depth
메시지 브로커 RabbitMQ 심층 분석
Regular price
$31.46
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
RabbitMQ는 오픈소스 메시지 브로커로, 메시지 기반 애플리케이션을 개발하기 위한 다양한 기능을 제공한다. RabbitMQ의 기본 기능은 누구나 쉽게 사용할 수 있지만, 도입하려는 시스템에 적절하게 적용하려면 내부 동작과 프로토콜과 모델의 특징을 이해해야 한다.
이 책은 실제 운영 환경에서의 모니터링과 클러스터 관리뿐 아니라 AMQP 프로토콜과 저수준의 프레임 구조에 대해서도 자세히 알아본다. 개발자와 운영자가 RabbitMQ에 대해 깊이 이해할 수 있게 해주는 좋은 지침서가 될 것이다.
이 책은 실제 운영 환경에서의 모니터링과 클러스터 관리뿐 아니라 AMQP 프로토콜과 저수준의 프레임 구조에 대해서도 자세히 알아본다. 개발자와 운영자가 RabbitMQ에 대해 깊이 이해할 수 있게 해주는 좋은 지침서가 될 것이다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
1장에서는 RabbitMQ의 기본 내용과 RabbitMQ의 다양한 기능을 소개하고, AMQ(Advanced Messaging Queuing) 모델을 다룬다.
2장에서는 AMQP, 프레임 구조와 RabbitMQ에 메시지를 발행하거나 검색할 때 발생하는 저수준 진행 과정을 알아본다.
3장에서는 메시지 속성에 대해 알아본다. 메시지의 유형이나 인코딩과 같은 중요한 메타 데이터를 메시지에 정의하는 헤더와 애플리케이션에서 헤더를 활용하는 방법을 다룬다.
4장에서는 메시지 발행 성능과 안정성의 절충 관계에 대해 알아본다. 각 수준의 전달 보장은 애플리케이션의 성능을 저하시킬 수 있는데, 이 성능에 영향을 주는 옵션에 대해 살펴본다. 또한 메시지 전달 보장과 빠른 메시지 발행 간의 균형을 유지하는 데 참고할 수 있는 내용을 다룬다.
5장에서는 메시지 소비에 대해 알아본다. Basic.Get과 Basic.Consume의 근본적인 차이점을 살펴보면서 Basic.Consume이 일반적으로 더 좋은 이유를 설명한다. 또 프리페치(prefetch), 서비스 품질 설정(QoS, Quality of Service), 메시지 확인, 데드 레터 익스체인지, 임시 큐, 메시지 만료를 다룬다.
6장에서는 RabbitMQ의 기본 익스체인지 유형 네 가지를 소개하고 각 유형이 애플리케이션 아키텍처에서 어떤 이점을 가지는지 자세히 알아본다.
7장에서는 클러스터 관리, 클러스터 환경에서 장애 상황에 대응하는 방법, 성능을 고려하면서 RabbitMQ를 확장하는 방법 등을 다룬다.
8장에서는 페더레이션 익스체인지와 페더레이션 큐를 이용한 클러스터링의 핵심 개념을 살펴본다. 그리고 RabbitMQ 클러스터를 아마존 웹 서비스(AWS)에 설치한 후, 정책을 적용하는 방법을 소개한다.
9장에서는 RabbitMQ에서 대체 프로토콜인 MQTT와 STOMP를 사용하는 방법을 소개하고 statelessd를 이용한 HTTP 메시지 발행에 대해 알아본다.
10장에서는 PostgreSQL 및 InfluxDB 데이터베이스와 연동하는 방법과 유용한 기능을 구현하는 방법을 살펴본다.
★ 옮긴이의 말 ★
현대의 성공적인 서비스는 사용자에게 아름답고 단순한 UI를 제공하지만, 애플리케이션의 백엔드는 전쟁터를 떠올릴 정도로 복잡하고 쌓여가는 데이터는 방대해지고 있다. 이런 서비스 개발에는 많은 개발자가 참여하고 있으며, 시스템들은 서로 복잡하게 얽혀 있다. 이제 웹 서버와 DB로만 구성한 하나의 모놀리식 시스템만으로 이 서비스를 계속 개발하고 운영하는 것은 상상하기조차 어렵다.
RabbitMQ는 오픈소스 메시지 브로커로, 메시지 지향 아키텍처를 구축하기 위한 다양한 기능을 제공하며 복잡한 백엔드에서 자신의 역할을 톡톡히 해내고 있다. 자신의 시스템에 큐가 필요해 메시지 브로커를 도입하려는 경우라면 각 솔루션의 특징을 이해해야 한다.
이 책은 간단한 네트워크 서비스에서 복잡한 분산 아키텍처 설계까지 실제 시스템을 기반으로 한 예제와 함께 자세하게 설명한다. 따라서 개발자와 운영자가 RabbitMQ에 대해 깊이 이해할 수 있게 해주는 좋은 지침서가 될 것이다.
2장에서는 AMQP, 프레임 구조와 RabbitMQ에 메시지를 발행하거나 검색할 때 발생하는 저수준 진행 과정을 알아본다.
3장에서는 메시지 속성에 대해 알아본다. 메시지의 유형이나 인코딩과 같은 중요한 메타 데이터를 메시지에 정의하는 헤더와 애플리케이션에서 헤더를 활용하는 방법을 다룬다.
4장에서는 메시지 발행 성능과 안정성의 절충 관계에 대해 알아본다. 각 수준의 전달 보장은 애플리케이션의 성능을 저하시킬 수 있는데, 이 성능에 영향을 주는 옵션에 대해 살펴본다. 또한 메시지 전달 보장과 빠른 메시지 발행 간의 균형을 유지하는 데 참고할 수 있는 내용을 다룬다.
5장에서는 메시지 소비에 대해 알아본다. Basic.Get과 Basic.Consume의 근본적인 차이점을 살펴보면서 Basic.Consume이 일반적으로 더 좋은 이유를 설명한다. 또 프리페치(prefetch), 서비스 품질 설정(QoS, Quality of Service), 메시지 확인, 데드 레터 익스체인지, 임시 큐, 메시지 만료를 다룬다.
6장에서는 RabbitMQ의 기본 익스체인지 유형 네 가지를 소개하고 각 유형이 애플리케이션 아키텍처에서 어떤 이점을 가지는지 자세히 알아본다.
7장에서는 클러스터 관리, 클러스터 환경에서 장애 상황에 대응하는 방법, 성능을 고려하면서 RabbitMQ를 확장하는 방법 등을 다룬다.
8장에서는 페더레이션 익스체인지와 페더레이션 큐를 이용한 클러스터링의 핵심 개념을 살펴본다. 그리고 RabbitMQ 클러스터를 아마존 웹 서비스(AWS)에 설치한 후, 정책을 적용하는 방법을 소개한다.
9장에서는 RabbitMQ에서 대체 프로토콜인 MQTT와 STOMP를 사용하는 방법을 소개하고 statelessd를 이용한 HTTP 메시지 발행에 대해 알아본다.
10장에서는 PostgreSQL 및 InfluxDB 데이터베이스와 연동하는 방법과 유용한 기능을 구현하는 방법을 살펴본다.
★ 옮긴이의 말 ★
현대의 성공적인 서비스는 사용자에게 아름답고 단순한 UI를 제공하지만, 애플리케이션의 백엔드는 전쟁터를 떠올릴 정도로 복잡하고 쌓여가는 데이터는 방대해지고 있다. 이런 서비스 개발에는 많은 개발자가 참여하고 있으며, 시스템들은 서로 복잡하게 얽혀 있다. 이제 웹 서버와 DB로만 구성한 하나의 모놀리식 시스템만으로 이 서비스를 계속 개발하고 운영하는 것은 상상하기조차 어렵다.
RabbitMQ는 오픈소스 메시지 브로커로, 메시지 지향 아키텍처를 구축하기 위한 다양한 기능을 제공하며 복잡한 백엔드에서 자신의 역할을 톡톡히 해내고 있다. 자신의 시스템에 큐가 필요해 메시지 브로커를 도입하려는 경우라면 각 솔루션의 특징을 이해해야 한다.
이 책은 간단한 네트워크 서비스에서 복잡한 분산 아키텍처 설계까지 실제 시스템을 기반으로 한 예제와 함께 자세하게 설명한다. 따라서 개발자와 운영자가 RabbitMQ에 대해 깊이 이해할 수 있게 해주는 좋은 지침서가 될 것이다.
목차
목차
1부 RabbitMQ와 애플리케이션 아키텍처
1장.RabbitMQ 살펴보기
__1.1 RabbitMQ의 기능과 장점
__1.2 RabbitMQ를 사용하는 곳들
__1.3 느슨하게 결합된 아키텍처의 장점
__1.4 요약
2장. AMQP와 RabbitMQ 코드 작성하기
__2.1 RPC 전송으로서의 AMQP
__2.2 AMQP의 RPC 프레임 구조
__2.3 프로토콜 사용하기
__2.4 파이썬으로 메시지 발행자 작성하기
__2.5 RabbitMQ에서 메시지 받기
__2.6 요약
3장. 메시지 속성 심층 탐사
__3.1 메시지 속성 적절히 사용하기
__3.2 content-type으로 명시적 메시지 계약 작성하기
__3.3 gzip, content-encoding으로 메시지 크기 줄이기
__3.4 message-id와 correlation-id를 이용한 메시지 참조
__3.5 timestamp 속성
__3.6 자동으로 메시지 만료하기
__3.7 배달 모드를 이용해 안전성과 속도 조절하기
__3.8 app-id 및 user-id를 사용해 메시지의 출처 확인하기
__3.9 type 속성을 이용해 메시지 특정하기
__3.10 동적인 작업 흐름을 위한 reply-to 속성 사용하기
__3.11 headers를 사용해 사용자 속성 지정하기
__3.12 priority 속성
__3.13 사용할 수 없는 속성: cluster-id/reserved
__3.14 요약
4장. 메시지 발행에서 성능 절충
__4.1 발행 속도와 배달 보장의 균형 잡기
__4.2 RabbitMQ 푸시백
__4.3 요약
5장. 메시지를 받지 않고 소비하기
__5.1 Basic.Get vs. Basic.Consume
__5.2 소비자 성능 조정
__5.3 메시지 거부하기
__5.4 큐 제어하기
__5.5 요약
6장. 익스체인지 라우팅을 통한 메시지 패턴
__6.1 다이렉트 익스체인지를 사용한 간단한 메시지 라우팅
__6.2 팬아웃 익스체인지를 사용한 메시지 브로드캐스팅
__6.3 토픽 익스체인지로 메시지를 선택적으로 라우팅하기
__6.4 헤더 익스체인지를 통한 선택적 라우팅
__6.5 익스체인지 성능 벤치마크하기
__6.6 익스체인지 간에 라우팅하기
2부. 데이터센터 또는 클라우드에서 RabbitMQ 운영하기
7장. 클러스터를 이용한 RabbitMQ 확장
__7.1 클러스터
__7.2 클러스터 설정
__7.3 요약
8장. 클러스터 간 메시지 발행
__8.1 페더레이션 익스체인지와 페더레이션 큐
__8.2 RabbitMQ 가상 머신 만들기
__8.3 업스트림에 접속하기
__8.4 요약
9장. 대체 프로토콜 사용
__9.1 MQTT와 RabbitMQ
__9.2 STOMP와 RabbitMQ
__9.3 HTTP로 상태 없이 메시지 발행하기
__9.4 요약
10장. 데이터베이스와 연결하기
__10.1 PostgreSQL pg_amqp 확장 모듈
__10.2 PostgreSQL 알림 수신하기
__10.3 메시지를 InfluxDB에 저장하기
__10.4 요약
부록. 준비하기
찾아보기
1장.RabbitMQ 살펴보기
__1.1 RabbitMQ의 기능과 장점
__1.2 RabbitMQ를 사용하는 곳들
__1.3 느슨하게 결합된 아키텍처의 장점
__1.4 요약
2장. AMQP와 RabbitMQ 코드 작성하기
__2.1 RPC 전송으로서의 AMQP
__2.2 AMQP의 RPC 프레임 구조
__2.3 프로토콜 사용하기
__2.4 파이썬으로 메시지 발행자 작성하기
__2.5 RabbitMQ에서 메시지 받기
__2.6 요약
3장. 메시지 속성 심층 탐사
__3.1 메시지 속성 적절히 사용하기
__3.2 content-type으로 명시적 메시지 계약 작성하기
__3.3 gzip, content-encoding으로 메시지 크기 줄이기
__3.4 message-id와 correlation-id를 이용한 메시지 참조
__3.5 timestamp 속성
__3.6 자동으로 메시지 만료하기
__3.7 배달 모드를 이용해 안전성과 속도 조절하기
__3.8 app-id 및 user-id를 사용해 메시지의 출처 확인하기
__3.9 type 속성을 이용해 메시지 특정하기
__3.10 동적인 작업 흐름을 위한 reply-to 속성 사용하기
__3.11 headers를 사용해 사용자 속성 지정하기
__3.12 priority 속성
__3.13 사용할 수 없는 속성: cluster-id/reserved
__3.14 요약
4장. 메시지 발행에서 성능 절충
__4.1 발행 속도와 배달 보장의 균형 잡기
__4.2 RabbitMQ 푸시백
__4.3 요약
5장. 메시지를 받지 않고 소비하기
__5.1 Basic.Get vs. Basic.Consume
__5.2 소비자 성능 조정
__5.3 메시지 거부하기
__5.4 큐 제어하기
__5.5 요약
6장. 익스체인지 라우팅을 통한 메시지 패턴
__6.1 다이렉트 익스체인지를 사용한 간단한 메시지 라우팅
__6.2 팬아웃 익스체인지를 사용한 메시지 브로드캐스팅
__6.3 토픽 익스체인지로 메시지를 선택적으로 라우팅하기
__6.4 헤더 익스체인지를 통한 선택적 라우팅
__6.5 익스체인지 성능 벤치마크하기
__6.6 익스체인지 간에 라우팅하기
2부. 데이터센터 또는 클라우드에서 RabbitMQ 운영하기
7장. 클러스터를 이용한 RabbitMQ 확장
__7.1 클러스터
__7.2 클러스터 설정
__7.3 요약
8장. 클러스터 간 메시지 발행
__8.1 페더레이션 익스체인지와 페더레이션 큐
__8.2 RabbitMQ 가상 머신 만들기
__8.3 업스트림에 접속하기
__8.4 요약
9장. 대체 프로토콜 사용
__9.1 MQTT와 RabbitMQ
__9.2 STOMP와 RabbitMQ
__9.3 HTTP로 상태 없이 메시지 발행하기
__9.4 요약
10장. 데이터베이스와 연결하기
__10.1 PostgreSQL pg_amqp 확장 모듈
__10.2 PostgreSQL 알림 수신하기
__10.3 메시지를 InfluxDB에 저장하기
__10.4 요약
부록. 준비하기
찾아보기
저자
저자
개빈 로이
저자 개빈 로이
90년대 중반부터 인터넷과 엔터프라이즈 기술을 연구해온 적극적인 오픈소스 전도사다.
90년대 중반부터 인터넷과 엔터프라이즈 기술을 연구해온 적극적인 오픈소스 전도사다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

