오픈소스 데이터그리드 플랫폼 인피니스팬 가이드. 분산 캐시(cache)와 데이터그리드(data grid) 솔루션을 사용하고자 하는 개발자와 아키텍트가 인피니스팬(Infinspan)을 사용하는 데 있어 가장 중요한 개념들을 가르쳐 준다. 인피니스팬 설치, 설정뿐만 아니라, 캐시에 데이터를 추가하고 제거하고 지우는 예제부터, 데이터그리드 내 클러스터링과 더 효율적인 데이터 분산 같은 복잡한 시나리오까지 다룬다. 또한 JBoss AS 7과 함께 인피니스팬을 통합해 사용하는 방법도 살펴본다. 한국어판 특별 부록으로 인피니스팬 6.0에 대해서도 간략히 소개한다.
Contents
1장 인피니스팬 설치
___데이터그리드란 무엇인가?
___캐시로서의 인피니스팬
______JSR-107을 넘어서 가다
___필수 소프트웨어 설치
______자바 SE 설치
_________설치 확인
______메이븐 설치
_________설치 확인
______인피니스팬 설치
_________모듈로 인피니스팬 확장
_________GUI 데모 프로그램으로 설치 확인 테스트
___요약
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 애플리케이션에서 캐시 어노테이션 활성화
______메소드 실행 결과의 캐싱
_________사용할 캐시 지정
_________캐시된 결과에 대한 캐시 키
_________커스텀 키 생성
______캐시 엔트리 삭제
______캐시 비우기
______캐시 엔트리 갱신
___JBoss AS 7.x와 함께 인피니스팬 CDI 사용
___요약
7장 심화주제
___비동기 API
______NotifyingFuture
___질의 API
______인피니스팬 질의 기능을 사용하도록 프로젝트 준비
_________캐시 설정
_________객체에 어노테이션 붙이기
_________질의 작성
______인덱스 저장
_________인피니스팬 디렉토리
_________인덱스 저장소와 캐시 모드
___전체 인덱스의 로컬 복제본
______전체의, 공유된 인덱스
_________인피니스팬 커스터마이징
______BaseCustomInterceptor
_________Commands and InvocationContext
______커스텀 인터셉터 만들기
______커스텀 인터셉터 설정
_________인터셉터 위치하기
___요약
부록 A 인피니스팬과 JBoss AS 7
___새로운 모듈화된 애플리케이션 서버
___AS 7 상의 인피니스팬 설정
___설정 자세히 보기
___설정 내 기본 엘리먼트 정의
___설정에서 global 엘리먼트 정의
___스레드 풀 정의
___JBoss AS 애플리케이션에서 인피니스팬 API 사용
부록 B [한국어판 특별 부록] 인피니스팬 6.0
___아파치 라이선스 채택
___모듈변경과 배포 패키지 정리
___사용하지 않는 API, SPI 삭제
___새로운 파일 캐시스토어
___새로운 영속 API(persistence API)
___불균질적인 클러스터
___내장/리모트 질의에 대한 변화
___요약