HOME > Detail View

Detail View

주키퍼 : 고가용성 서버를 위한 분산 프로세스 코디네이션 (Loan 3 times)

Material type
단행본
Personal Author
Junqueira, Flavio Reed, Benjamin, 저 한연수, 역 박용준, 역
Title Statement
주키퍼 : 고가용성 서버를 위한 분산 프로세스 코디네이션 / 플라비오 융케이라, 벤자민 리드 지음 ; 한연수, 박용준 옮김
Publication, Distribution, etc
의왕 :   에이콘,   2014  
Physical Medium
311 p. : 삽화 ; 25 cm
Series Statement
에이콘 클라우드 컴퓨팅 시리즈 = Cloud computing series
Varied Title
ZooKeeper : distributed process coordination
ISBN
9788960775978 9788960772793 (Set)
General Note
색인수록  
Subject Added Entry-Topical Term
Apache Hadoop (Computer file) File organization (Computer science) Database management
000 00000cam c2200205 c 4500
001 000045906780
005 20170526163857
007 ta
008 170526s2014 ggka 001c kor
020 ▼a 9788960775978 ▼g 94000
020 1 ▼a 9788960772793 (Set)
035 ▼a (KERIS)BIB000013556393
040 ▼a 241008 ▼c 241008 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.74 ▼2 23
085 ▼a 005.74 ▼2 DDCK
090 ▼a 005.74 ▼b 2014z10
100 1 ▼a Junqueira, Flavio
245 1 0 ▼a 주키퍼 : ▼b 고가용성 서버를 위한 분산 프로세스 코디네이션 / ▼d 플라비오 융케이라, ▼e 벤자민 리드 지음 ; ▼e 한연수, ▼e 박용준 옮김
246 1 9 ▼a ZooKeeper : ▼b distributed process coordination
260 ▼a 의왕 : ▼b 에이콘, ▼c 2014
300 ▼a 311 p. : ▼b 삽화 ; ▼c 25 cm
440 0 0 ▼a 에이콘 클라우드 컴퓨팅 시리즈 = ▼x Cloud computing series
500 ▼a 색인수록
650 0 ▼a Apache Hadoop (Computer file)
650 0 ▼a File organization (Computer science)
650 0 ▼a Database management
700 1 ▼a Reed, Benjamin, ▼e
700 1 ▼a 한연수, ▼e
700 1 ▼a 박용준, ▼e
900 1 0 ▼a 융케이라, 플라비오, ▼e
900 1 0 ▼a 리드, 벤자민, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.74 2014z10 Accession No. 121240375 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

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

코디네이션 기능 없이 동작하는 분산 애플리케이션을 구성하는 것은 어렵다. 이 책에서는 여러분이 애플리케이션의 로직에 집중할 수 있도록 아파치 주키퍼가 도움을 주는 분산 시스템 관리에 대한 실용적인 방법을 제시한다. 물론 주키퍼를 사용하더라도 코디네이션 작업을 구현하는 것은 쉽지 않다.

그렇지만 이 책에서는 여러분이 쉽게 이해할 수 있도록 훌륭한 예제를 제공하며, 주키퍼를 사용하면서 개발자와 관리자 모두가 인지해야 하는 주의사항에 대해 짚어준다. 주키퍼 컨트리뷰터인 플라비오 융케이라와 벤자민 리드는 분산 시스템의 원리에 대해 소개하고 주키퍼 프로그래밍 테크닉과 주키퍼 서버를 관리하는 데 필요한 정보를 세 개의 부로 나누어 제공한다.

★ 요약 ★
우리가 매일 이용하는 수많은 응용프로그램은 대부분 분산 시스템하에서 운영되고 있다. 아파치 주키퍼(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장, 주키퍼 운영'에서는 주키퍼 설정 방법을 설명한다.

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

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


Information Provided By: : Aladin

Author Introduction

플라비오 융케이라(지은이)

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

벤자민 리드(지은이)

페이스북에서 일하는 소프트웨어 엔지니어로서 작은 주제들을 다루는 일을 하고 있다. 이전에는 야후! 연구소에서 (큰 주제를 다루는) 책임 연구원이었고 IBM 알마덴 연구소의 (큰 주제와 작은 주제를 다루는) 연구원이었다. 산타크루즈 캘리포니아 대학에서 컴퓨터 과학 박사 학위를 받았으며, 분산 컴퓨팅, 빅데이터 처리, 분산 저장소, 시스템 관리, 임베디드 프레임워크 분야에서 일했다. 하둡과 리눅스 같은 여러 가지 오픈소스 프로젝트에도 참여했다. 아파치 재단이 후원하는 피그(Pig), 주키퍼, 북키퍼 프로젝트를 시작하는 데 도움을 주었다.

한연수(옮긴이)

2010년부터 그루터(Gruter) 빅데이터 플랫폼 팀에서 하둡 에코시스템을 활용한 플랫폼과 서비스를 개발하고 있다. 정보시스템 공학과 컴퓨터 공학을 전공한 IT 세계에 대해 꿈 많은 개발자다. 주요 관심 분야는 분산시스템, 대용량 실시간 데이터 처리, 임베디드 응용프로그램이고, 특히 오픈소스 프로젝트에 관심이 많다.

박용준(옮긴이)

분산 시스템, 소프트웨어 아키텍처, 개발 방법론 등 소프트웨어와 관련된 다양한 영역에 관심이 있으며 최근에는 개발 생산성을 높일 수 있는 방법들에 대해 관심을 집중하고 있다. 현재 그루터에서 소프트웨어 엔지니어로 근무하며 다양한 경험을 쌓고 있다.

Information Provided By: : Aladin

Table of Contents

1부 주키퍼의 개념과 기본 
1장 소개 
__주키퍼의 역할 
__주키퍼로 인해 달라진 것들 
__주키퍼의 역할이 아닌 일들 
__아파치 프로젝트 
__주키퍼를 이용한 분산 시스템 구성 
__예제: 마스터 워커 애플리케이션 
__마스터 결함 
__워커 결함 
__통신 결함 
__작업 요약 
__분산 코디네이션이 어려운 이유 
__주키퍼의 성공과 주의 사항 

2장 주키퍼와 첫 만남 
__주키퍼 기본 
__API 개요 
__Znode의 다양한 모드 
__와치와 알림 
__버전 
__주키퍼 아키텍처 
__주키퍼 쿼럼 
__세션 
__주키퍼 시작하기 
__첫 번째 주키퍼 세션 
__상태와 세션의 생명주기 
__주키퍼 쿼럼 
__기본 요소 구현: 주키퍼를 이용한 락 
__마스터 워커 예제 구현 
__마스터 역할 
__워커, 작업, 할당 
__워커 역할 
__클라이언트 역할 
__결론 

2부 주키퍼 프로그래밍 
3장 주키퍼 API 시작 
__주키퍼 클래스패스 설정 
__주키퍼 세션 생성 
__Watcher 구현 
__Watcher 예제 실행 
__마스터십 획득 
__비동기로 마스터십 획득 
__메타데이터 설정 
__워커 등록 
__작업 큐 
__관리 클라이언트 
__결론 

4장 상태 변경 
__일회성 트리거 
__일회성 이벤트 트리거를 놓칠 수 있을까? 
__와치를 설정하는 좀 더 구체적인 방법 
__공통 패턴 
__마스터-워커 예제 
__멤버십 변경 
__워커 목록 변경을 위한 마스터 대기 
__새로운 작업 할당을 위한 마스터 대기 
__새로운 작업 할당을 위한 워커 대기 
__작업 실행 결과를 위한 클라이언트 대기 
__또 다른 방법: 멀티옵 
__명시적인 캐시관리의 대안으로써 와치 
__순서 보장 
__쓰기 순서 
__읽기 순서 
__알림 순서 
__무리 효과와 와치의 확장성 
__결론 

5장 장애 처리 
__복구 가능한 장애 
__Disconnected 이벤트와 기존에 존재하던 와치 
__복구불능 장애 
__리더 선출과 외부 자원 
__결론 

6장 주키퍼 사용자 위험 부담 원칙 
__ACL 사용 
__내장된 인증 체계들 
__SASL과 커베로스 
__새로운 체계 추가 
__세션 복구 
__znode가 재생성되면 버전은 초기화된다 
__sync 호출 
__순서 보장 
__연결이 끊겼을 때의 순서 
__동기 API와 멀티스레드 상황의 순서 
__동기와 비동기 호출이 섞여 있는 경우의 순서 
__데이터와 자식 수의 제한 
__주키퍼 서버 임베딩 
__결론 

7장 C 클라이언트 
__개발 환경 설정 
__세션 시작 
__마스터 부트스트랩 
__리더십 
__태스크 할당 
__멀티스레드 대 싱글스레드 클라이언트 
__결론 

8장 큐레이터: 주키퍼에 대한 고수준API 
__큐레이터 클라이언트 
__플루언트 API 
__리스너 
__큐레이터에서 상태 변경 
__몇 가지 특이사항 
__레시피 
__리더 래치 
__리더 선출 
__자식 캐시 
__결론 

3부 주키퍼 관리	
9장 주키퍼의 내부 구조 
__요청, 트랜잭션, 식별자 
__리더 선출 
__잽: 상태 변경사항 브로드캐스팅 
__옵저버 
__서버의 기본 구성 
__단독 서버 
__리더 서버 
__팔로워 서버와 옵저버 서버 
__로컬 저장소 
__로그와 디스크 사용 
__스냅샷 
__서버와 세션 
__서버와 와치 
__클라이언트 
__직렬화 
__결론 

10장 주키퍼 운영 
__주키퍼 서버 설정 
__기본 설정 
__저장소 설정 
__네트워크 설정 
__클러스터 설정 
__인증과 권한 부여 옵션 
__안전하지 않은 옵션 
__로깅 
__전용 자원 
__주키퍼 앙상블 설정 
__과반수 규칙 
__설정 가능한 쿼럼 
__옵저버 
__재설정 
__클라이언트 연결 문자열 관리 
__쿼터 
__멀티테넌시 
__파일 시스템 레이아웃과 형식 
__트랜잭션 로그 
__스냅샷 
__에퍽 파일 
__저장된 주키퍼 데이터의 사용 
__포-레터 단어 
__JMX 모니터링 
__원격 연결 
__도구 
__결론

New Arrivals Books in Related Fields