RabbitMQ in Depth (메시지 브로커 RabbitMQ 심층 분석)

RabbitMQ in Depth (메시지 브로커 RabbitMQ 심층 분석)

$28.48
Description
RabbitMQ는 오픈소스 메시지 브로커로, 메시지 기반 애플리케이션을 개발하기 위한 다양한 기능을 제공한다. RabbitMQ의 기본 기능은 누구나 쉽게 사용할 수 있지만, 도입하려는 시스템에 적절하게 적용하려면 내부 동작과 프로토콜과 모델의 특징을 이해해야 한다.
이 책은 실제 운영 환경에서의 모니터링과 클러스터 관리뿐 아니라 AMQP 프로토콜과 저수준의 프레임 구조에 대해서도 자세히 알아본다. 개발자와 운영자가 RabbitMQ에 대해 깊이 이해할 수 있게 해주는 좋은 지침서가 될 것이다.
저자

개빈로이

저자개빈로이
90년대중반부터인터넷과엔터프라이즈기술을연구해온적극적인오픈소스전도사다.

목차

1부RabbitMQ와애플리케이션아키텍처
1장.RabbitMQ살펴보기
__1.1RabbitMQ의기능과장점
__1.2RabbitMQ를사용하는곳들
__1.3느슨하게결합된아키텍처의장점
__1.4요약

2장.AMQP와RabbitMQ코드작성하기
__2.1RPC전송으로서의AMQP
__2.2AMQP의RPC프레임구조
__2.3프로토콜사용하기
__2.4파이썬으로메시지발행자작성하기
__2.5RabbitMQ에서메시지받기
__2.6요약

3장.메시지속성심층탐사
__3.1메시지속성적절히사용하기
__3.2content-type으로명시적메시지계약작성하기
__3.3gzip,content-encoding으로메시지크기줄이기
__3.4message-id와correlation-id를이용한메시지참조
__3.5timestamp속성
__3.6자동으로메시지만료하기
__3.7배달모드를이용해안전성과속도조절하기
__3.8app-id및user-id를사용해메시지의출처확인하기
__3.9type속성을이용해메시지특정하기
__3.10동적인작업흐름을위한reply-to속성사용하기
__3.11headers를사용해사용자속성지정하기
__3.12priority속성
__3.13사용할수없는속성:cluster-id/reserved
__3.14요약

4장.메시지발행에서성능절충
__4.1발행속도와배달보장의균형잡기
__4.2RabbitMQ푸시백
__4.3요약

5장.메시지를받지않고소비하기
__5.1Basic.Getvs.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.2RabbitMQ가상머신만들기
__8.3업스트림에접속하기
__8.4요약

9장.대체프로토콜사용
__9.1MQTT와RabbitMQ
__9.2STOMP와RabbitMQ
__9.3HTTP로상태없이메시지발행하기
__9.4요약

10장.데이터베이스와연결하기
__10.1PostgreSQLpg_amqp확장모듈
__10.2PostgreSQL알림수신하기
__10.3메시지를InfluxDB에저장하기
__10.4요약

부록.준비하기
찾아보기

출판사 서평

1장에서는RabbitMQ의기본내용과RabbitMQ의다양한기능을소개하고,AMQ(AdvancedMessagingQueuing)모델을다룬다.
2장에서는AMQP,프레임구조와RabbitMQ에메시지를발행하거나검색할때발생하는저수준진행과정을알아본다.
3장에서는메시지속성에대해알아본다.메시지의유형이나인코딩과같은중요한메타데이터를메시지에정의하는헤더와애플리케이션에서헤더를활용하는방법을다룬다.
4장에서는메시지발행성능과안정성의절충관계에대해알아본다.각수준의전달보장은애플리케이션의성능을저하시킬수있는데,이성능에영향을주는옵션에대해살펴본다.또한메시지전달보장과빠른메시지발행간의균형을유지하는데참고할수있는내용을다룬다.
5장에서는메시지소비에대해알아본다.Basic.Get과Basic.Consume의근본적인차이점을살펴보면서Basic.Consume이일반적으로더좋은이유를설명한다.또프리페치(prefetch),서비스품질설정(QoS,QualityofService),메시지확인,데드레터익스체인지,임시큐,메시지만료를다룬다.
6장에서는RabbitMQ의기본익스체인지유형네가지를소개하고각유형이애플리케이션아키텍처에서어떤이점을가지는지자세히알아본다.
7장에서는클러스터관리,클러스터환경에서장애상황에대응하는방법,성능을고려하면서RabbitMQ를확장하는방법등을다룬다.
8장에서는페더레이션익스체인지와페더레이션큐를이용한클러스터링의핵심개념을살펴본다.그리고RabbitMQ클러스터를아마존웹서비스(AWS)에설치한후,정책을적용하는방법을소개한다.
9장에서는RabbitMQ에서대체프로토콜인MQTT와STOMP를사용하는방법을소개하고statelessd를이용한HTTP메시지발행에대해알아본다.
10장에서는PostgreSQL및InfluxDB데이터베이스와연동하는방법과유용한기능을구현하는방법을살펴본다.

★옮긴이의말★

현대의성공적인서비스는사용자에게아름답고단순한UI를제공하지만,애플리케이션의백엔드는전쟁터를떠올릴정도로복잡하고쌓여가는데이터는방대해지고있다.이런서비스개발에는많은개발자가참여하고있으며,시스템들은서로복잡하게얽혀있다.이제웹서버와DB로만구성한하나의모놀리식시스템만으로이서비스를계속개발하고운영하는것은상상하기조차어렵다.
RabbitMQ는오픈소스메시지브로커로,메시지지향아키텍처를구축하기위한다양한기능을제공하며복잡한백엔드에서자신의역할을톡톡히해내고있다.자신의시스템에큐가필요해메시지브로커를도입하려는경우라면각솔루션의특징을이해해야한다.
이책은간단한네트워크서비스에서복잡한분산아키텍처설계까지실제시스템을기반으로한예제와함께자세하게설명한다.따라서개발자와운영자가RabbitMQ에대해깊이이해할수있게해주는좋은지침서가될것이다.