간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (19,010원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (15,120원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (15,120원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (17,280원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (19,440원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (20,090원)
(최대할인 3만원 / 3만원 이상 결제)
Close

RabbitMQ 따라잡기 : AMQP 기반의 오픈소스 메시지 브로커

원제 : RabbitMQ Essentials

2013년 9월 9일 이후 누적수치입니다.

판매지수 36
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

24,000원

  • 21,600 (10%할인)

    1,200P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(321)

  • 사은품(1)

출판사 서평

RabbitMQ는 오픈소스 메시지 브로커로, 서로 다른 시스템 간에 메시지를 효율적으로 교환할 수 있는 기능을 제공한다. RabbitMQ가 제공하는 풍부한 기능 덕분에 누구나 쉽게 사용 가능하며, 고가용성 및 확장성을 지닌 시스템을 손쉽게 구축할 수 있다. 이 책은 가상의 기업을 소개하고 실생활에서 다뤄지는 문제를 해결하기 위해 도입되어야 할 메시징 시스템을 제시한다. 아울러 실제 사용 가능한 소스 코드와 이를 보완해나가는 각 장의 구성은 메시징 시스템의 근본 개념과 RabbitMQ의 사용법을 충분히 익히도록 돕는다. 실제 운영 환경에서의 모니터링, 클러스터링 등을 학습함으로써 초심자에게 훌륭한 지침서가 될 수 있으리라 믿는다.

이 책에서 다루는 내용

- 메시징 애플리케이션 구축과 RabbitMQ의 개념
- 애플리케이션 개발을 향상시키기 위한 RabbitMQ 구현 방법
- 메시지 발행, 메시지 수신, 메시지 거절
- 다이렉트, 토픽, 팬아웃, 헤더 익스체인지를 사용한 메시지 라우팅
- 자바와 루비를 사용한 애플리케이션 수신함과 방송 설비 시스템 구축
- 파이썬 클라이언트를 사용한 애플리케이션 트래픽 분석
- 스마트한 메시지 라우팅, 클러스터링, 페더레이션을 사용한 위급 상황 대처
- 메시지를 추적하는 방법을 습득하기 위한 애플리케이션 상태 모니터링

이 책의 대상 독자

전문적으로 엔터프라이즈 메시징 제품을 개발하고 있거나 이미 오픈소스 메시징 소프트웨어에 친숙한 독자라면 새로운 도전에 목말라 있을 것이다. 여러분은 이 책을 통해 갈증을 해소할 수 있다. 책의 예제를 최대한 활용하기 위해서는 자바, 루비, 파이썬을 어느 정도 숙지해야 한다. 하지만 다른 RabbitMQ 서적에서는 찾아볼 수 없는 풍부한 가이드를 제공하므로 독자 모두가 부담 없이 시작할 수 있다.

이 책의 구성

1장 '메시징, 도약의 첫걸음'에서는 메시징 시스템의 개념과 이점을 소개한다. AMQP와 RabbitMQ를 소개하고 RabbitMQ를 설치하고 구성하는 방법을 학습한 후 애플리케이션 개발을 시작할 준비를 갖춘다.

2장 '애플리케이션 수신함 만들기'는 RabbitMQ에서 간단한 메시지 수신함을 만드는 방법을 설명한다. 아울러 RabbitMQ에 연결하는 방법과 다이렉트 익스체인지(direct exchange)와 토픽 익스체인지(topic exchange)를 발행하고, 큐에서 메시지를 가져오는 방법을 학습한다.

3장 '서버 푸시로 전환'에서는 메시지를 소비하고 최종 사용자에게 메시지를 라우팅하는 효율적인 방법을 설명한다. 팬아웃 익스체인지(fanout exchange)를 소개하고, 단 한 건의 메시지만 발행해서 수많은 큐에 메시지를 전송할 수 있는 방법을 학습한다.

4장 '애플리케이션 로그 처리'는 이전 장에서 배운 개념을 토대로 애플리케이션 사용 데이터를 수집하는 방법을 설명한다. 아울러 서비스 품질에 대해 알아보고 성능을 향상시킬 수 있는 방법과 RabbitMQ 애플리케이션 부하 테스트를 수행하는 방법을 학습한다.

5장 '메시지 전달 처리'에서는 RabbitMQ의 확장 기능을 사용하여 전달되지 않은 메시지를 만료하고 이를 처리하는 방법을 살펴본다. 아울러 성공적으로 메시지를 전달하는 데 사용하는 일반적인 방법을 학습한다.

6장 '스마트 메시지 라우팅'은 헤더 익스체인지(header exchange)가 메시지 속성을 기반으로 라우팅을 수행하는 방법을 살펴본다. 아울러 요청-응답 상호 작용 방식이 어떻게 RabbitMQ와 잘 이뤄질 수 있는지 학습한다.

7장 '운영 환경에 RabbitMQ 설정'에서는 RabbitMQ 브로커가 장애 상황에 대비한 다양한 전략을 소개하고, 클러스터링(clustering)과 페더레이션(federation)을 학습한다. 아울러 운영 환경을 순조롭게 다룰 수 있도록 RabbitMQ 모니터링 방법을 설명한다.

8장 '애플리케이션 테스팅과 추적'에서는 분산 시스템 내에서의 도전 과제와 어떤 완화(mitigation) 전략이 도움이 되는지 설명한다.

부록 '메시지 스키마'에서는 다양한 예제에서 다룬 메시지를 JSON 형태로 명시하여 모든 스키마를 기술한다.

추천사

RabbitMQ의 가장 흥미로운 점은 사람들이 늘 새로운 기능을 모색하고 더 나은 방법을 추구한다는 점이다. 전문 개발자라면 누구나 숙지해야 하는 메시징 기술은 이제 데이터베이스와 웹 애플리케이션과 나란히 할 만큼 많은 발전을 이뤘다.

RabbitMQ는 2006년에 만들어졌다. 그 무렵 대개 수많은 IT 시스템을 보유한 기업은 각 시스템을 어떻게 해서든 연결하고자 메시징을 사용하고 있었다. '발행-구독(pubsub)'이나 '큐(queue)' 같은 전문 용어는 순전히 메시징을 다루는 괴짜나 높은 연봉을 받는 통합 컨설턴트에게만 해당되었다. 하지만 알다시피 세상은 이전과 다르게 놀랍도록 발전했고, 우리는 그 이유를 조금이나마 깨닫게 되었다.

오늘날의 소프트웨어와 웹 애플리케이션 규모는 발 빠르게 증가하고 있다. 아울러 각 사용자, 애플리케이션, 장치, 장소를 연결하는 방법은 여러 확장 가능한 애플리케이션을 개발해야 하는 필요성을 대두시켰다. 동시에 새로운 애플리케이션은 사용된 언어나 API와 무관하게 기존 시스템과 서비스를 통합해야 한다. 이런 종류의 환경에서 확장성을 제공하는 유일한 방법은 메시징을 사용하는 것이고, 최선의 방법은 RabbitMQ 같은 제품을 이용하는 것이다. 정말 강력하고 신뢰할 만한, 더불어 사용하기 쉬운 메시징 도구가 없었기에 RabbitMQ 프로젝트를 시작했다. 직접 만들기로 결정한 것이다. 여러분도 RabbitMQ가 마음에 들기를 바란다.

RabbitMQ가 실제로 더 나은 애플리케이션을 구축할 수 있도록 여러 도구를 설계하고 있는 점도 흥미롭다. 도구는 사용하기에 따라 여러분의 시스템과 함께 성장할 수 있다. 도구의 간편성과 강력한 기능 사이의 균형 조절은 쉽지 않지만, 우리가 생각하기에 RabbitMQ는 적절히 균형을 이룬다. 개발자는 대개 복잡하고 터무니없는 문제에 어느 정도의 내성을 가지고 있기 때문이다. 하지만 믿기지 않을 만큼 모든 것이 완벽해 보이는 도구는 주의하자! 분명 이처럼 의심스러운 도구는 장애를 발생시키기 때문이다. 정말 단순한 시스템은 필요할 때 그 능력을 발휘한다. RabbitMQ는 절대로 기능을 거짓으로 소개하거나 숨기려 하지 않는다. 우리는 이것이야말로 훌륭한 도구의 필수 조건이라 믿는다.

이 책에서는 메시징을 사용해 탄탄하고 확장 가능한 애플리케이션을 설계할 수 있는 방법, 그리고 이에 따라 RabbitMQ가 제공하는 기능을 보여준다. 독자 여러분 모두가 메시징의 기초 개념을 갈고 닦을 수 있을 것이다. 자, 이제 책장을 넘겨 RabbitMQ와의 여행을 시작하자!
- 알렉시스 리처드슨(Alexis Richardson) / 래빗 테크놀로지스(Rabbit Technologies)의 전 CEO

목차

1장. 메시징, 도약의 첫걸음
메시징이란?
느슨하게 결합된 시스템 구성
AMQP란?
RabbitMQ 브로커
RabbitMQ 사용 사례
RabbitMQ 준비
브로커 설치
관리 플러그인 설치
계정 설정
요약

2장. 애플리케이션 수신함 만들기
RabbitMQ에 연결
채널과 작업
수신함 구축
- 사용자에게 메시지 보내기
- AMQP 메시지 구조
- 사용자 메시지 가져오기
실행화면 살펴보기
토픽 메시지 추가
요약

3장. 서버 푸시로 전환
폴링 그 너머로
큐 소비
- 소비자 구독 클래스 만들기
- 구독 관리
웹소켓 엔드포인트로 연결
- 애플리케이션 실행
모든 큐에 메시지 발행
팬아웃 익스체인지 결합
모든 사용자에게 메시지 발행
애플리케이션 구동
요약

4장. 애플리케이션 로그 처리
로그 발행과 소비
AMQP 부하 테스트
부하 테스트 수행
메시지 프리페칭
오류 메시지 보내기
요약

5장. 메시지 전달 처리
발송 불가 메시지 처리
큐 리팩토링
메시지 처리
메시지 전달 보장
백오피스 송신자 구현
요약

6장. 스마트 메시지 라우팅
서비스 지향 메시징
큐로 메시지 회신
서비스 요청 라우팅
인증 서비스 구현
인증 서비스 호출
요약

7장. 운영 환경에 RabbitMQ 설정
브로커 단일 장애점 해결
미러링 큐 구성
클러스터에 연결
브로커 페더레이션
브로커 모니터링
요약

8장. 애플리케이션 테스팅과 추적
RabbitMQ 애플리케이션 테스트
RabbitMQ 애플리케이션 단위 테스팅
RabbitMQ 애플리케이션 통합 테스팅
RabbitMQ 추적
파이어호스 추적기
요약

부록. 메시지 스키마
사용자 메시지
인증 메시지
일반적인 오류 메시지

본문중에서

RabbitMQ는 AMQP 프로토콜을 구현한 오픈소스 메시징 브로커로, 지난 몇 년간 나날이 인기가 치솟고 있다. 초기에는 일부 혁신적인 기업만 사용했으나 현재는 여러 기업에서 RabbitMQ의 특징과 소프트웨어 공학에서 메시징을 사용하는 긍정적인 측면을 모색 중이다. 실제로 클라우드 컴퓨팅의 출현으로 시스템 규모를 유연하게 조정할 필요성이 대두된 것이다. 따라서 느슨하게 결합된 시스템에서 RabbitMQ 같은 브로커를 통해 메시지를 전달하는 방법은 이러한 필요성을 충족시킬 수 있다.

이 책에서는 클레버 코니 미디어(Clever Corney Media, 이하 CCM)라는 가상의 회사가 실세계 문제를 다루는 여정으로 독자 여러분을 안내할 것이다. 우선 CCM이 서로 다른 시스템에 걸쳐 메시징 시스템을 적용하고 발전시키는 방법을 살펴본다. 여러분은 단방향 비동기 메시지 전달 방식부터 요청-응답 방식까지 RabbitMQ가 할 수 있는 메시지 시스템을 광범위하게 발견하게 될 것이다.

아울러 AMQP 프로토콜의 핵심 원리 및 우수 사례와 함께 RabbitMQ에서 자체적으로 추가한 기능들이 적시적지(適時適地)에 사용되는 것을 다룬다. 또한 본문 전반에 걸쳐 여러 프로그래밍 언어로 작성된 예제는 AMQP의 메시징 처리 방법을 보여준다.

독자 여러분은 이 책을 통해 RabbitMQ와 AMQP의 폭넓은 이해와 더불어 자신만의 프로젝트를 시작할 때 적시적지에 필요한 것들을 얻게 될 것이다. 아울러 실제 프로젝트에서 사용되는 수준의 자세한 예제 코드는 분문에서 눈에 띄게 배열해 놓았다.
(/ '저자 서문' 중에서)

인류의 탄생과 더불어 몸짓언어는 비약적인 발전을 거듭했고, 최첨단 기술이 도래한 21세기를 살아가는 우리는 현재 메시징 시대에 살고 있다고 해도 과언이 아니다. 인터넷이 보급되고 활성화되면서 지구 반대편에 있는 친구와도 실시간으로 대화할 수 있는 시대임은 이미 거론할 필요조차 없거니와 더불어 상호 정보교환 또한 질적, 물적으로 급격히 향상되어 왔다.

RabbitMQ는 이처럼 서로 다른 시스템 간에 메시지를 효율적으로 교환할 수 있으며, 메시지 표준 프로토콜인 AMQP를 기반으로 만들어져 풍부한 기능을 제공한다. 채팅 시스템을 비롯해 로그 수집 및 분석, 비동기 처리 시스템, 그리고 분산 시스템 환경에서의 시스템 통합까지 RabbitMQ의 활용 범위는 무궁무진하다. 비단 각 시스템뿐만 아니라 애플리케이션 스레드 혹은 프로세스 간 데이터 통신을 위해서도 메시지 큐는 필수적이다. RabbitMQ가 제공하는 기능을 제대로 알고 있다면 적시적지(適時適地)에 사용할 수 있을 것이다. 이 책을 통해 독자 여러분이 필요한 기능을 섭렵하길 기원한다.

나는 메시징 시스템이라는 용어를 처음 접했을 당시, 기본 개념조차 없었음에도 아이러니하게 친숙함을 느꼈다. 그럴 수밖에 없었던 것이 사실 메시지 큐는 갑자기 출현한 최신 기술이 아니기 때문이다. RabbitMQ는 메시지 큐를 활용하는 브로커로, 서로 간에 메시지를 교환할 수 있는 여러 방법을 가지고 있다. 메시지를 교환한다는 말은, 서로 간에 의사소통을 한다는 의미이기도 하다. 누군가와 의사소통하는 것은 쉽지만은 않은 일이며 서로의 생각을 곧이곧대로 전하기 위해서는 여러 의사소통 방법이 필요하다. 유창하게 말을 잘한다고 해서 의사소통 능력이 뛰어나다고 할 수 없듯이 남의 말을 귀담아 듣는 경청도 중요하며, 상대방의 문화에 대한 이해도 필요하다. 이처럼 메시징 시스템을 이해하기 위해서는 단순히 기능 중심이 아닌 이면에 숨겨진 근본 개념 또한 중요하리라 생각한다. 독자 여러분 역시 이 책을 통해 메시징의 근본 개념을 습득하길 바란다. 자, 이제 책을 펼쳐 저자가 안내하는 RabbitMQ의 세계로 껑충 뛰어들어가 보자!
(/ '옮긴이의 말' 중에서)

저자소개

데이비드 도소트(David Dossot) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

소프트웨어 엔지니어와 아키텍트로 18년 이상을 종사했다. 2009년 이후로 다양한 개발 환경에서 RabbitMQ를 사용해오고 있으며, Mule AMQP 트랜스포트의 주요 기여자(main contributor)다. 주요 관심사는 JVM과 얼랭(Erlang) VM을 위한 분산 및 확장 가능한 서버 사이드 애플리케이션을 구축하는 것이다. IEEE 컴퓨터 학회와 AOPA 회원이며, ESSTIN의 산업 시스템 공학 학위를 보유하고 있다.

매닝(Manning) 출판사의 [Mule in Action] 1판 및 2판의 공동 저자이며, Mule 챔피언이자 DZone의 최우수 블로거다. 여러 오픈소스 프로젝트에 참여하고 있으며 스택 오버플

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

배우고 학습하는 것을 즐기는 평범한 개발자다. 장인 개발자로 한걸음 더 도약하기 위해 늘 노력하고 있다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 322권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용