장바구니 담기 close

장바구니에 상품을 담았습니다.

주키퍼(ZooKeeper)

주키퍼(ZooKeeper)

  • 플라비오 융케이라
  • |
  • 에이콘출판
  • |
  • 2014-08-29 출간
  • |
  • 316페이지
  • |
  • 188 X 245 X 31 mm /852g
  • |
  • ISBN 9788960775978
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

우리가 매일 이용하는 수많은 응용프로그램은 대부분 분산 시스템하에서 운영되고 있다. 아파치 주키퍼(Apache ZooKeeper)는 핵심 분산 컴퓨팅 개념을 비롯해 견고한 분산 시스템을 쉽게 구성하기 위해 만들어졌다. 이 책은 이런 분산 시스템에 대한 배경지식과 함께 마스터-워커(master-worker) 예제를 통해 주키퍼 API 사용 방법, 와처(watcher) 사용 방법, 장애 처리 방법 등을 다룬다. 또한 주키퍼가 동작하는 과정을 이해할 수 있도록 내부 구조에 대한 설명을 제공해 효과적인 주키퍼 사용과 운영 방법에 대해 설명한다

★ 이 책에서 다루는 내용 ★

코디네이션 기능 없이 동작하는 분산 애플리케이션을 구성하는 것은 어렵다. 이 책에서는 여러분이 애플리케이션의 로직에 집중할 수 있도록 아파치 주키퍼가 도움을 주는 분산 시스템 관리에 대한 실용적인 방법을 제시한다. 물론 주키퍼를 사용하더라도 코디네이션 작업을 구현하는 것은 쉽지 않다. 그렇지만 이 책에서는 여러분이 쉽게 이해할 수 있도록 훌륭한 예제를 제공하며, 주키퍼를 사용하면서 개발자와 관리자 모두가 인지해야 하는 주의사항에 대해 짚어준다.

주키퍼 컨트리뷰터인 플라비오 융케이라와 벤자민 리드는 분산 시스템의 원리에 대해 소개하고 주키퍼 프로그래밍 테크닉과 주키퍼 서버를 관리하는 데 필요한 정보를 세 개의 부로 나누어 제공한다.

■ 주키퍼가 일반적인 코디네이션 작업을 해결하는 방법에 대한 학습
■ 주키퍼 API의 자바와 C 구현 방법과 차이점 비교
■ 주키퍼 상태 변화를 추적하고 상태 변화에 반응하는 메소드 사용
■ 네트워크 장애, 애플리케이션 프로세스 장애, 주키퍼 자체의 장애를 처리하는 방법
■ 주키퍼에서 어려운 부분인 동시성, 순서, 설정을 다루는 방법 학습
■ 연결 관리를 위한 고수준 인터페이스인 큐레이터 사용
■ 주키퍼의 내부 구조와 관리 도구에 익숙해짐

★ 이 책의 대상 독자 ★

이 책은 분산 시스템 개발자와 운영 환경에서 주키퍼를 사용하는 애플리케이션 관리자를 대상으로 한다. 기본적으로 자바에 대한 지식이 있는 것으로 가정한다. 이 책에서는 주키퍼를 효율적으로 사용할 수 있게 분산 시스템 원론에 대한 배경 지식을 제공하고자 한다.

★ 이 책의 구성 ★
1부는 아파치 주키퍼와 같은 시스템이 생겨난 배경을 이야기한다. 그리고 분산 시스템을 사용하는 데 필요한 분산 시스템의 필수 배경 지식에 대해 설명한다.
‘1장, 소개’에서는 주키퍼로 할 수 있는 일을 설명하고, 주키퍼로 목표를 달성하는 방법에 대해 설명한다.
‘2장, 주키퍼와 첫 만남’에서는 주키퍼의 기본 개념과 구성 요소에 대해 살펴본다. 명령 행에서 주키퍼를 사용해봄으로써 주키퍼로 할 수 있는 것에 대한 구체적인 아이디어를 얻는 방법을 설명한다.

2부는 라이브러리 호출과 프로그래머가 알고 있어야 하는 프로그래밍 테크닉에 대해 다룬다. 이 내용은 유용하지만 시스템 관리자들은 꼭 읽지 않아도 되며, 개발자들이 가장 많이 사용하는 자바 API에 초점을 맞춘다. 다른 언어를 사용하고 있다면 2부는 기본 테크닉과 기능에 대해 학습하는 용도로만 읽고 난 다음, 다른 언어로 구현해보는 것도 좋겠다. 아울러 C 언어 애플리케이션 개발자를 위한 C 언어 바인딩을 다루는 장도 추가적으로 제공한다.
‘3장, 주키퍼 API 시작’에서는 자바 API에 대해 소개한다.
‘4장, 상태 변경’에서는 주키퍼 상태 변경 사항을 추적하고 변경을 처리하는 방법에 대해 설명한다.
‘5장, 장애 처리’에서는 시스템이나 네트워크 문제를 복구하는 방법에 대해 보여준다.
‘6장, 주키퍼 사용자 위험 부담 원칙’에서는 문제 상황을 피하기 위한 다양한 중요 고려사항들에 대해 설명한다.
‘7장, C 클라이언트’에서는 자바가 아닌 모든 언어의 주키퍼 API 구현의 기본이 되는 C API에 대해 소개한다. 이 장은 자바 언어 외의 다른 언어를 사용하는 프로그래머에게 중요하다.
‘8장, 큐레이터: 주키퍼에 대한 고수준 API’에서는 주키퍼에 대한 고급 단계 API에서는 많이 사용하는 고수준의 추상화 인터페이스인 큐레이터에 대해 설명한다.

3부는 시스템 관리자를 위한 주키퍼 관련 내용을 설명한다. 특히 주키퍼 내부 구조를 설명하는 장은 프로그래머에게도 유익할 것이다.
‘9장, 주키퍼의 내부 구조’에서는 관리 작업에 영향을 주는 주키퍼 개발자들이 고민해서 선택한 몇 가지 선택 항목들에 대해 설명한다.
‘10장, 주키퍼 운영’에서는 주키퍼 설정 방법을 설명한다.

★ 저자 서문 ★
사람들이 매일 이용하는 수많은 응용프로그램은 분산 시스템으로 운영되지만 이러한 분산 시스템을 구성하는 것은 어렵다. 그리고 가까운 시일 내에 분산 시스템에 대한 의존성을 제거할 수 있을 것으로 보이지 않는다. 아파치 주키퍼는 견고한 분산 시스템을 구성하는 작업을 쉽게 만들기 위해 설계되었다. 주키퍼는 핵심 분산 컴퓨팅 개념을 포함하여 만들어졌다. 주키퍼의 주요 목표는 개발자가 이해하기 쉽고 프로그래밍하기 쉬운 간결한 인터페이스를 제시하는 것이다. 그러므로 주키퍼를 이용하면 분산 시스템을 구성하는 작업을 단순하게 만들 수 있다.

주키퍼를 사용하더라도 분산 시스템을 만드는 작업은 그리 만만치 않다. 이것이 이 책을 쓰는 계기가 되었다. 이 책은 여러분이 주키퍼를 사용하여 분산 시스템을 빠르게 구성할 수 있도록 도와줄 것이다. 이 책에서는 여러분이 분산 시스템 전문가인 것처럼 생각할 수 있도록 기본 개념부터 시작한다. 미리 숙지하고 있어야 하는 분산 시스템의 주의사항을 설명하는 부분에서 간단하지만은 않은 기본 개념 설명에 약간 두려울 수도 있을 것이다. 하지만 걱정하지는 말자. 이 책에서 제시하는 주요 문제들을 제대로 이해한다면 거대한 분산 응용프로그램을 구성하는 올바른 방법을 알게 될 것이다.

★ 옮긴이의 말 ★

주키퍼를 처음 접한 건 4년 전 소셜커머스 서비스 프로젝트를 진행할 때였다. 당시 애플리케이션 서버의 클러스터 멤버십을 구성하기 위해 주키퍼를 사용했는데, 간단한 프로그래밍으로 분산된 서버들의 클러스터 관리를 손쉽게 할 수 있다는 것에 큰 감동을 받았다. 이후 많은 프로젝트에서 주키퍼를 큐, 메타데이터 저장소, Failover 구현 등으로 사용했고 물론 지금도 쓰고 있다.

주키퍼는 앙상블로 이루어진 트리 구조의 데이터 저장소로서 그 개념이 매우 간단하다. 그래서 주키퍼를 처음 접한 많은 사람은 종종 이게 무슨 코디네이터이고 어떻게 클러스터 멤버십이나 큐로 사용할 수 있다는 것인지 의문이 생긴다. 이런 분들께 이 책을 적극적으로 추천한다. 이 책은 주키퍼가 무엇을 위해 만들어졌고 어떤 일을 할 수 있는지에 대한 배경 설명부터 예제를 통한 실제 구현으로 이런 궁금증을 해소해준다. 또한 주키퍼를 실제 필드에 적용해보고자 하는 분들에게는 주키퍼 사용에 대한 저자의 노하우를 알려주고, 주키퍼의 동작 원리를 자세히 설명해주기 때문에 직접 주키퍼를 운영하는 데 큰 도움을 줄 것이다.
-한연수

하둡을 시작으로 에코 시스템이 형성되면서 HBase, 하이브(Hive), 피그(Pig), 머하웃(Mahout), 스파크(Spark), 타조(Tajo) 등 다양한 분산 시스템 컴포넌트들이 나왔습니다. 그 중 주키퍼는 분산 시스템을 코디네이션합니다. 다시 말해, 분산 환경의 시스템들을 관리하도록 도와줘서 안정적으로 운영되도록 하는 역할을 합니다.

저는 하둡 에코 시스템 중 주키퍼를 먼저 접했습니다. 처음 주키퍼를 설치한 후에 ‘파일 시스템과 유사한 트리 구조에 데이터를 저장하는 것으로 과연 무엇을 할 수 있을까?’라는 의문이 생겼지만 분산 락, 멤버십 관리, 큐, 이벤트 발행 등 주키퍼를 다양하게 활용해보면서, 주키퍼는 분산 시스템을 구성할 때 가장 먼저 떠오르는 컴포넌트였습니다.

주키퍼는 간단한 몇 가지 설정만으로도 대부분 잘 동작하기 때문에 하둡(Hadoop), HBase 같은 분산 시스템들과 달리 쉽게 사용할 수 있는 분산 시스템 컴포넌트입니다. 하지만, 다양한 시스템 환경에서 발생하는 복합적인 문제들을 정확히 파악하고 해결하려면 주키퍼와 분산 시스템에 대한 이해가 필요합니다. 이 책에서는 분산 시스템에서 발생하는 상황들에 대한 설명부터 주키퍼의 동작 원리, 코드를 참조할 수 있는 가이드를 제공합니다. 이런 내용들이 분산 시스템을 구성하거나 현재 주키퍼를 사용하면서 겪고 있는 문제를 해결하는 데 도움이 되었으면 합니다.
-박용준

저자소개

저자 플라비오 융케이라 (Flavio Junqueira)는 영국 캠브릿지에 있는 마이크로소프트 연구소의 연구원이다. 샌디에고 캘리포니아 대학에서 컴퓨터 과학 박사 학위를 받았으며, 분산 알고리즘, 동시성, 확장성 등을 포함해 분산 시스템의 다양한 측면에 관심이 있다. 또한 아파치 주키퍼(PMC 의장 및 커미터)와 아파치 북키퍼(BookKeeper)(커미터) 같은 아파치 프로젝트의 적극적인 공헌자다. 여가 시간에는 주로 잠을 잔다.

도서소개

『주키퍼 ZooKeeper』는 분산 시스템에 대한 배경지식과 함께 마스터-워커(master-worker) 예제를 통해 주키퍼 API 사용 방법, 와처(watcher) 사용 방법, 장애 처리 방법 등을 다룬다. 또한 주키퍼가 동작하는 과정을 이해할 수 있도록 내부 구조에 대한 설명을 제공해 효과적인 주키퍼 사용과 운영 방법에 대해 설명하고 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.