JBoss 인피니스팬 따라잡기 [시스템 성능을 높이는 분산캐시 데이터그리드 플랫폼]
- 원서명Infinispan Data Grid Platform (ISBN 9781849518222)
- 지은이프란체스코 마르치오니, 마닉 수르타니
- 옮긴이전재홍
- ISBN : 9788960774902
- 18,000원
- 2013년 11월 19일 펴냄 (절판)
- 페이퍼백 | 192쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 분산 캐시(cache)와 데이터그리드(data grid) 솔루션을 사용하고자 하는 개발자와 아키텍트가 인피니스팬(Infinspan)을 사용하는 데 있어 가장 중요한 개념들을 가르쳐 준다. 인피니스팬 설치, 설정뿐만 아니라, 캐시에 데이터를 추가하고 제거하고 지우는 예제부터, 데이터그리드 내 클러스터링과 더 효율적인 데이터 분산 같은 복잡한 시나리오까지 다룬다. 또한 JBoss AS 7과 함께 인피니스팬을 통합해 사용하는 방법도 살펴본다. 한국어판 특별 부록으로 인피니스팬 6.0에 대해서도 간략히 소개한다.
이 책에서 다루는 내용
■ 분산 캐시와 데이터그리드 학습, 인피니스팬 설치 ■ 만료, 제거, 저장, JTA 호환 트랜잭션 등을 이용하는 인피니스팬 설정 ■ 운영 시스템의 통계 수집과 이용 ■ 인피니스팬과 함께 CDI 프로그래밍 모델 사용 ■ 인피니스팬의 강력한 질의와 비동기 API ■ 필요에 따른 인피니스팬 확장과 커스터마이징 ■ 클러스터링과 클러스터 내 잠금/동시성 패턴 등의 심화 주제 ■ JBoss AS 7 내 인피니스팬 서브시스템
이 책의 대상 독자
이 책은 분산 캐시와 데이터그리드 솔루션을 사용하고자 하는 기업의 개발자와 아키텍트를 위한 것이다. 독자는 자바 프로그래밍 지식과 데이터 캐싱과 클러스터링 같은 개념에 대해 어느 정도 익숙해야 한다.
이 책의 구성
1장, 인피니스팬 설치: 데이터그리드의 정의와 개념적 기반을 이야기하며 인피니스팬 데이터그리드 플랫폼을 소개한다. 또한 인피니스팬과 개발 시 도움될 공통 도구의 설치를 보여준다.
2장, 인피니스팬 코어 API: 인피니스팬의 두 가지 동작 모드를 설명하고, 캐시 매니저(CacheManager) 인터페이스와 캐시(Cache) API를 활용해 인피니스팬을 사용하는 방법을 통해 인피니스팬 코어 API를 설명한다.
3장, 인피니스팬 설정: 기본적인 설정에 관해 선언적으로 그리고 코드 내에서 설정하는 방법을 다룬다.
4장, 고급 설정: 확장성과 안정성 있는 기업용 애플리케이션에 필수인 클러스터링과 트랜잭션 같은 고급 주제에 관해 소개한다.
5장, 인피니스팬 모니터링: 캐시 매니저와 캐시된 객체에 관련된 정보를 얻는 방법을 보여주면서, 인피니스팬 플랫폼을 관리하고 모니터링하는 방법을 알려준다.
6장, 인피니스팬과 CDI: 대중화되어가는 CDI 프로그래밍 모델과 함께 인피니스팬을 사용하는 방법을 본다.
7장, 심화 주제: 비동기 API, 질의 API, 인피니스팬 커스터마이징에 관한 세 가지 심화주제에 대해 다룬다.
부록A, 인피니스팬과 JBoss AS 7: JBoss AS 7 서버에서 인피니스팬 API를 사용해 애플리케이션을 구성하고 개발하는 방법을 살펴본다.
부록 B, [한국어판 특별 부록] 인피니스팬 6.0: 최신 버전인 인피니스팬 6.0에 관해 알아 본다.
목차
목차
- 1장 인피니스팬 설치
- 데이터그리드란 무엇인가?
- 캐시로서의 인피니스팬
- JSR-107 뛰어넘기
- 필수 소프트웨어 설치
- 자바 SE 설치
- 설치 확인
- 메이븐 설치
- 설치 확인
- 인피니스팬 설치
- 모듈로 인피니스팬 확장
- GUI 데모 프로그램으로 설치 확인 테스트
- 자바 SE 설치
- 요약
- 2장 인피니스팬 코어 API
- 인피니스팬 동작 모드
- 내장 모드로 인피니스팬 실행
- 클라이언트-서버 모드로 인피니스팬 실행
- 멤캐시디 프로토콜
- 핫로드 프로토콜
- 인피니스팬 REST 인터페이스
- 핫로드 자바 클라이언트 사용하기
- 인피니스팬 API 배우기
- 첫 번째 프로젝트 생성
- 데이터 스토어의 크기 제어
- 데이터 제거
- 데이터 만료
- 리스너 사용
- 리스너와 동기성
- 인피니스팬과 트랜잭션
- 메이븐으로 예제 애플리케이션 실행
- 요약
- 인피니스팬 동작 모드
- 3장 인피니스팬 설정
- 선언적 설정 배우기
- 전역 설정 세팅
- 캐시 설정 세팅
- 캐시 로더 설정
- 공통 캐시 로더 속성
- 특정 캐시로더 속성
- 애플리케이션에 적합한 캐시 스토어 선택
- JDBC 캐시 스토어
- 캐시로더 체인
- 제거와 만료 설정
- 제거와 패시베이션 설정으로 티켓 예약 시스템 테스트하기
- 프로그램 내에서 인피니스팬 설정
- 처음부터 설정 생성하기
- 프로그램 내에서 전역 설정을 생성하기
- 요약
- 선언적 설정 배우기
- 4장 고급 설정
- 클러스터링 소개
- 네트워크 송수신 설정
- 인피니스팬 클러스터 생성
- 클러스터링을 사용하는 애플리케이션 설정
- 복제와 분산 중 선택
- 고급 데이터 분산
- 가상 노드로 데이터 분산 향상
- 불필요한 원격 접속 방지를 위한 L1 캐시
- 인피니스팬 잠금 정책
- 격리수준 설정
- 데이터 잠금과 트랜잭션
- 명시적, 암시적 데이터 잠금
- 노드 잠금 예제
- 잠금 제한시간 설정
- 캐시 키 보호 위한 잠금 풀 사용
- 데드락 감지
- 요약
- 5장 인피니스팬 모니터링
- 통계 수집 활성화
- JConsole을 사용한 인피니스팬 데이터 수집
- RHQ로 인피니스팬 관리
- RHQ 설치
- Configuring the RHQ agent
- 에이전트가 인피니스팬 발견하게 하기
- 인피니스팬 플러그인 설치
- RHQ, 인피니스팬으로의 게이트웨이
- 간단한 캐시 요약 뷰
- 캐시로부터 경고 조건 얻기
- 시스템 실시간 모니터링
- 요약
- 6장 인피니스팬과 CDI
- CDI 개요
- 인피니스팬과 CDI를 사용하기 위한 준비
- 인피니스팬 컴포넌트 설정과 CDI 빈으로 주입
- CDI를 사용하여 캐시 주입
- 주입대상 캐시 설정
- 캐시 매니저 설정
- 기본 설정 지정
- EmbeddedCacheManager 생성 방법 설정
- RemoteCacheManager 설정
- 복수의 설정 다루기
- CDI를 사용하여 캐시 주입
- CDI 애노테이션을 사용한 저장과 검색 제어
- CDI 애플리케이션에서 캐시 애노테이션 활성화
- 메소드 실행 결과의 캐싱
- 사용할 캐시 지정
- 캐시된 결과에 대한 캐시 키
- 커스텀 키 생성
- 캐시 엔트리 삭제
- 캐시 비우기
- 캐시 엔트리 갱신
- JBoss AS 7.x와 함께 인피니스팬 CDI 사용
- 요약
- 7장 심화주제
- 비동기 API
- NotifyingFuture
- 질의 API
- 인피니스팬 질의 기능을 사용하도록 프로젝트 준비
- 캐시 설정
- 객체에 애노테이션 붙이기
- 질의 작성
- 인덱스 저장
- 인피니스팬 디렉토리
- 인덱스 저장소와 캐시 모드
- 인피니스팬 질의 기능을 사용하도록 프로젝트 준비
- 전체 인덱스의 로컬 복제본
- 전체의, 공유된 인덱스
- 인피니스팬 커스터마이징
- BaseCustomInterceptor
- Command와 InvocationContext
- 커스텀 인터셉터 만들기
- 커스텀 인터셉터 설정
- 인터셉터 위치하기
- 전체의, 공유된 인덱스
- 요약
- 비동기 API
- 부록 A 인피니스팬과 JBoss AS 7
- 새로운 모듈화된 애플리케이션 서버
- AS 7 상의 인피니스팬 설정
- 설정 자세히 보기
- 설정 내 기본 엘리먼트 정의
- 설정에서 global 엘리먼트 정의
- 스레드 풀 정의
- JBoss AS 애플리케이션에서 인피니스팬 API 사용
- 부록 B [한국어판 특별 부록] 인피니스팬 6.0
- 아파치 라이선스 채택
- 모듈변경과 배포 패키지 정리
- 사용하지 않는 API, SPI 삭제
- 새로운 파일 캐시스토어
- 새로운 영속 API(persistence API)
- 불균질적인 클러스터
- 내장/리모트 질의에 대한 변화
- 요약