• 메인으로 이동
    AD광고
    Best Seller[페인트] 이희영 작가의 다정한 위로이벤트
    AD광고
    Best Seller별빛 가득 달콤한 시간별이 빛나는 고양이 마을 5
    • 소득공제
    • 무료배송

    스프링으로 하는 마이크로 서비스 구축 2/e - 스프링 부트와 스프링 클라우드 이스티오를 이용한 확장 가능한 마이크로서비스 구축(에이콘 소프트웨어 아키텍처 시리즈)

    • 매그너스 라슨 저
    • 박규태 역
    • 에이콘출판
    • 2024년 06월 27일
    5%42,750원45,000
    적립금
    1,800원 (4% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 10/7(수) 출고 가능
    택배보다 빠른, 나우드림
    42,750원

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791161758558
    쪽수812쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 시스템공학
    관련 이벤트
    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    10월 특별선물 《미도리 북 스탬프》

    2026.10.01 ~ 2026.10.31

    • 사은품

    도전! 리뷰왕

    2026.10.01 ~ 2026.10.31

    • 사은품

    영풍문고 단독 리커버 『달리기를 말할 때 내가 하고 싶은 이야기』

    2026.09.28 ~ 2026.12.31

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    10월 특별선물 《미도리 북 스탬프》

    2026.10.01 ~ 2026.10.31

    • 사은품

    도전! 리뷰왕

    2026.10.01 ~ 2026.10.31

    • 사은품

    영풍문고 단독 리커버 『달리기를 말할 때 내가 하고 싶은 이야기』

    2026.09.28 ~ 2026.12.31

    책 소개

    기존 일체형 애플리케이션을 마이크로서비스로 나누고 온프레미스나 클라우드로 배포하려는 자바, 스프링 개발자와 아키텍트를 위한 책이다.

    스프링 부트, 스프링 클라우드와 도커, 쿠버네티스, 이스티오, EFK 스택, 프로메테우스, 그라파나 등의 오픈소스 도구를 조합해 마이크로서비스를 구축하는 방법을 설명한다. 오픈소스 도구와 스프링 기반 자바 코드를 실습 위주로 설명하며, 최소한의 시간 투자만으로도 다양하고 넓은 범위의 지식을 학습할 수 있게끔 효율적으로 구성돼 있다.

    개정판은 스프링 부트와 다양한 오픈소스 도구의 최신 버전을 사용해 보다 쉽고 빠르게 학습할 수 있도록 내용을 업데이트했으며, 스프링 기반 마이크로서비스를 네이티브 컴파일하는 방법, 윈도우 WSL 2 환경 설정 방법, 헬름 3 사용 방법 등의 내용을 추가했다.

    목차

    1부. 스프링 부트를 사용한 마이크로서비스 개발

     

    1장. 마이크로서비스 소개

    __기술 요구 사항

    __내 마이크로서비스 경험

    ____독립 소프트웨어 컴포넌트의 장점

    ____독립 소프트웨어 컴포넌트의 문제

    ____마이크로서비스 입문

    ____샘플 마이크로서비스 환경

    __마이크로서비스 정의

    __마이크로서비스의 문제

    __마이크로서비스 디자인 패턴

    ____서비스 검색

    ____에지 서버

    ____리액티브 마이크로서비스

    ____구성 중앙화

    ____로그 분석 중앙화

    ____분산 추적

    ____서킷 브레이커

    ____제어 루프

    ____모니터링 및 경고 중앙화

    __필수 소프트웨어

    __다른 주요 고려 사항

    __요약

     

     

    2장. 스프링 부트 소개

    __기술 요구 사항

    __스프링 부트

    ____설정보다 관례와 팻 JAR 파일

    ____스프링 부트 애플리케이션 설정에 대한 코드 예제

    __스프링 웹플럭스

    ____REST 서비스 설정에 대한 코드 예제

    __springdoc-openapi

    __스프링 데이터

    ____엔티티

    ____리포지터리

    __스프링 클라우드 스트림

    ____메시지 송수신에 대한 코드 예제

    __도커

    __요약

    __질문

     

     

    3장. 공조 마이크로서비스 집합 생성

    __기술 요구 사항

    __마이크로서비스 환경 소개

    ____마이크로서비스가 처리하는 정보

    ____임시로 검색 서비스 대체

    __골격 마이크로서비스 생성

    ____스프링 이니셜라이저로 골격 코드 생성

    ____그래들에 멀티 프로젝트 빌드 설정

    __RESTful API 추가

    ____api 프로젝트와 util 프로젝트 추가

    ____API 구현

    __복합 마이크로서비스 추가

    ____API 클래스

    ____속성

    ____통합 컴포넌트

    ____복합 API 구현

    __예외 처리 추가

    ____전역 REST 컨트롤러 예외 핸들러

    ____API 구현의 예외 처리

    ____API 클라이언트의 예외 처리

    __API 수동 테스트

    __자동화된 마이크로서비스 테스트

    __반자동화된 마이크로서비스 환경 테스트

    ____테스트 스크립트 실행

    __요약

    __질문

     

     

    4장. 도커를 사용한 마이크로서비스 배포

    __기술 요구 사항

    __도커 소개

    ____첫 도커 커맨드 실행

    __도커에서 자바를 실행할 때의 문제

    ____사용 가능한 CPU 제한

    ____사용 가능한 메모리 제한

    __도커로 단일 마이크로서비스 실행

    ____소스 코드 변경

    ____도커 이미지 빌드

    ____서비스 시작

    ____컨테이너를 분리 모드로 실행

    __도커 컴포즈를 사용한 마이크로서비스 환경 관리

    ____소스 코드 변경

    ____마이크로서비스 환경 시작

    __공조 마이크로서비스의 테스트 자동화

    ____테스트 실행 문제 해결

    __요약

    __질문

     

     

    5장. OpenAPI를 사용한 API 문서화

    __기술 요구 사항

    __springdoc-openapi 소개

    __소스 코드 변경

    ____그래들 빌드 파일에 의존성 추가

    ____ProductCompositeServiceApplication에 구성과 API 정보 추가

    ____ProductCompositeService 인터페이스에 API 정보 추가

    __마이크로서비스 환경 구축 및 시작

    __OpenAPI 문서 사용법

    __요약

    __질문

     

     

    6장. 영속성 추가

    __기술 요구 사항

    __목표

    __핵심 마이크로서비스에 영속성 계층 추가

    ____의존성 추가

    ____엔티티 클래스를 사용해 데이터 저장

    ____스프링 데이터 리포지터리 정의

    __영속성에 중점을 둔 자동 테스트 작성

    ____Testcontainers 사용법

    ____영속성 테스트 작성

    __서비스 계층에서 영속성 계층 사용

    ____데이터베이스 연결 URL 기록

    ____새 API 추가

    ____서비스 계층에서 영속성 계층 호출

    ____자바 빈 매퍼 선언

    ____서비스 테스트 업데이트

    __복합 서비스 API 확장

    ____복합 서비스 API에 새 오퍼레이션 추가

    ____통합 계층에 메서드 추가

    ____새 복합 API 오퍼레이션 구현

    ____복합 서비스 테스트 업데이트

    __도커 컴포즈 환경에 데이터베이스 추가

    ____도커 컴포즈 구성

    ____데이터베이스 연결 구성

    ____MongoDB 및 MySQL CLI 도구

    __새 API 및 영속성 계층의 수동 테스트

    __마이크로서비스 환경의 자동 테스트 업데이트

    __요약

    __질문

     

     

    7장. 리액티브 마이크로서비스 개발

    __기술 요구 사항

    __논블로킹 동기 API와 이벤트 기반 비동기 서비스의 선택 기준

    __논블로킹 동기 REST API 개발

    ____프로젝트 리액터 소개

    ____스프링 데이터 MongoDB를 사용한 논블로킹 영속성

    ____핵심 서비스의 논블로킹 REST API

    ____복합 서비스의 논블로킹 REST API

    __이벤트 기반 비동기 서비스 개발

    ____메시징 관련 문제 처리

    ____토픽 및 이벤트 정의

    ____그래들 빌드 파일 변경

    ____핵심 서비스에서 이벤트 소비

    ____복합 서비스에서 이벤트 게시

    __리액티브 마이크로서비스 환경의 수동 테스트

    ____이벤트 저장

    ____상태 점검 API 추가

    ____파티션 없이 RabbitMQ 사용

    ____파티션을 추가해 RabbitMQ 사용

    ____토픽당 2개의 파티션으로 카프카 사용

    __리액티브 마이크로서비스 환경의 자동 테스트

    __요약

    __질문

     

     

    2부. 스프링 클라우드를 활용한 마이크로서비스 관리

     

    8장. 스프링 클라우드 소개

    __기술 요구 사항

    __스프링 클라우드의 진화

    __넷플릭스 유레카를 검색 서비스로 사용

    __스프링 클라우드 게이트웨이를 에지 서버로 사용

    __구성 중앙화를 위해 스프링 클라우드 컨피그 사용

    __복원력 향상을 위해 Resilience4j 사용

    ____Resilience4j를 사용한 서킷 브레이커 샘플

    __스프링 클라우드 슬루스와 집킨을 사용한 분산 추적

    __요약

    __질문

     

     

    9장. 넷플릭스 유레카를 사용한 서비스 검색

    __기술 요구 사항

    __서비스 검색 소개

    ____DNS 기반 서비스 검색의 문제

    ____서비스 검색의 문제

    ____넷플릭스 유레카를 이용한 서비스 검색

    __넷플릭스 유레카 서버 설정

    __넷플릭스 유레카 서버에 마이크로서비스 연결

    __개발용 구성 설정

    ____유레카 구성 매개 변수

    ____유레카 서버 구성

    ____유레카 서버에 연결할 클라이언트 구성

    __검색 서비스 사용

    ____확장

    ____축소

    ____유레카 서버의 장애 상황 테스트

    __유레카 서버 다시 시작

    __요약

    __질문

     

     

    10장. 스프링 클라우드 게이트웨이를 에지 서버로 사용

    __기술 요구 사항

    __시스템 환경에 에지 서버 추가

    __스프링 클라우드 게이트웨이 설정

    ____복합 상태 점검 추가

    ____스프링 클라우드 게이트웨이 구성

    __에지 서버 테스트

    ____도커 엔진 외부로 공개되는 항목 확인

    ____라우팅 규칙 테스트

    __요약

    __질문

     

     

    11장. API 접근 보안

    __기술 요구 사항

    __OAuth 2.0 및 OpenID Connect 소개

    ____OAuth 2.0 소개

    ____OpenID Connect 소개

    __시스템 환경 보안

    __HTTPS를 사용한 외부 통신 보호

    ____런타임에 자체 서명 인증서 교체

    __검색 서비스 접근 보안

    ____유레카 서버 변경

    ____유레카 클라이언트 변경

    __로컬 권한 부여 서버 추가

    __OAuth 2.0과 OpenID Connect를 사용한 API 보안

    ____에지 서버와 product-composite 서비스 변경

    ____product-composite 서비스 변경

    ____테스트 스크립트 변경

    __로컬 권한 부여 서버를 사용한 테스트

    ____자동 테스트 빌드 및 실행

    ____검색 서버 보안 테스트

    ____접근 토큰 획득

    ____접근 토큰을 사용해 보안 API 호출

    ____스웨거 UI에서 OAuth 2.0 테스트

    __외부 OpenID Connect 공급자를 사용한 테스트

    ____Auth0 사용자 계정의 설정 및 구성

    ____Auth0를 OpenID 공급자로 사용하기 위해 필요한 변경 사항 적용

    ____Auth0를 OpenID Connect 공급자로 사용해 테스트 스크립트 실행

    ____클라이언트 자격 증명 승인 흐름을 사용해 접근 토큰 획득

    ____권한 코드 승인 흐름을 사용해 접근 토큰 획득

    ____Auth0 접근 토큰을 사용해 보안 API 호출

    ____사용자에 대한 추가 정보 획득

    __요약

    __질문

     

     

    12장. 구성 중앙화

    __기술 요구 사항

    __스프링 클라우드 컨피그 서버 소개

    ____구성 저장소의 저장 유형 선택

    ____클라이언트가 먼저 접속할 서버 결정

    ____구성 보안

    ____구성 서버 API 소개

    __구성 서버 설정

    ____에지 서버에 라우팅 규칙 설정

    ____도커 환경을 위한 구성 서버 설정

    __구성 서버의 클라이언트 설정

    ____연결 정보 구성

    __구성 저장소 구조화

    __스프링 클라우드 컨피그 서버 사용

    ____빌드 및 자동화 테스트 실행

    ____구성 서버 API로 구성 조회

    ____민감한 정보의 암호화 및 해독

    __요약

    __질문

     

     

    13장. Resilience4j를 사용한 복원력 개선

    __기술 요구 사항

    __Resilience4j의 복원 메커니즘 소개

    ____서킷 브레이커 소개

    ____시간 제한기 소개

    ____재시도 메커니즘 소개

    __소스 코드에 복원력 메커니즘 추가

    ____프로그래밍 방식으로 지연 및 무작위 오류 추가

    ____서킷 브레이커 및 시간 제한기 추가

    ____재시도 메커니즘 추가

    ____자동 테스트 추가

    __서킷 브레이커 및 재시도 메커니즘 테스트

    ____빌드 및 자동화 테스트 실행

    ____정상적인 요청만 유입될 때 서킷이 닫혀 있는지 확인

    ____문제가 발생했을 때 서킷이 열리는지 확인

    ____서킷 브레이커 다시 닫기

    ____무작위 오류로 재시도 메커니즘 테스트

    __요약

    __질문

     

     

    14장. 분산 추적

    __기술 요구 사항

    __스프링 클라우드 슬루스와 집킨을 사용한 분산 추적

    __소스 코드에 분산 추적 추가

    ____빌드 파일에 의존성 추가

    ____스프링 클라우드 슬루스 및 집킨에 대한 구성 추가

    ____도커 컴포즈 파일에 집킨 추가

    __분산 추적 수행

    ____RabbitMQ를 대기열 관리자로 사용해 시스템 환경 시작

    ____정상적인 API 요청 전송

    ____비정상적인 API 요청 전송

    ____비동기 처리를 유발하는 API 요청 전송

    ____RabbitMQ를 통해 집킨으로 전달된 추적 정보 모니터링

    ____카프카를 메시지 브로커로 사용

    __요약

    __질문

     

     

    3부. 쿠버네티스를 사용한 경량 마이크로서비스 개발

     

    15장. 쿠버네티스 소개

    __기술 요구 사항

    __쿠버네티스 개념 소개

    __쿠버네티스 API 객체 소개

    __쿠버네티스 런타임 컴포넌트 소개

    __미니큐브를 사용해 쿠버네티스 클러스터 생성

    ____미니큐브 프로필 사용

    ____쿠버네티스의 CLI 도구인 kubectl 사용

    ____kubectl 콘텍스트 사용

    ____쿠버네티스 클러스터 생성

    __샘플 디플로이먼트 생성

    __로컬 쿠버네티스 클러스터 관리

    ____쿠버네티스 클러스터 중지 및 시작

    ____쿠버네티스 클러스터 종료

    __요약

    __질문

     

     

    16장. 쿠버네티스에 마이크로서비스 배포

    __기술 요구 사항

    __넷플릭스 유레카를 쿠버네티스 서비스로 대체

    __쿠버네티스 객체 소개

    __스프링 부트의 지원 기능 사용

    __헬름 소개

    ____헬름 커맨드 실행

    ____헬름 차트의 구조

    ____헬름 템플릿과 전달 값

    ____common 라이브러리 차트

    ____components 차트

    ____environments 차트

    __개발 및 테스트 환경을 위한 쿠버네티스 배포

    ____도커 이미지 빌드

    ____헬름 차트의 의존성 해결

    ____쿠버네티스에 배포

    ____쿠버네티스 환경에 맞게 테스트 스크립트 수정

    ____디플로이먼트 테스트

    __스테이징 및 상용 환경을 위한 쿠버네티스 배포

    ____소스 코드 수정

    ____쿠버네티스에 배포

    ____정리

    __요약

    __질문

     

     

    17장. 쿠버네티스로 기존 시스템 환경 대체

    __기술 요구 사항

    __스프링 클라우드 컨피그 서버 대체

    ____스프링 클라우드 컨피그 서버를 대체하기 위한 변경 작업

    __스프링 클라우드 게이트웨이 대체

    ____스프링 클라우드 게이트웨이를 대체하기 위한 변경 작업

    __인증서 프로비저닝 자동화

    __쿠버네티스 컨피그 맵, 시크릿, 인그레스, cert-manager를 사용한 테스트

    ____인증서 갱신

    ____스테이징 및 상용 환경을 위한 쿠버네티스 배포

    __쿠버네티스 없이도 마이크로서비스가 작동하는지 확인

    ____도커 컴포즈 파일의 수정 사항

    ____도커 컴포즈로 테스트

    __요약

    __질문

     

     

    18장. 서비스 메시를 사용해 관찰 가능성 및 관리 편의성 개선

    __기술 요구 사항

    __이스티오를 이용한 서비스 메시 소개

    ____이스티오 소개

    ____마이크로서비스에 이스티오 프록시 삽입

    ____이스티오의 API 객체 소개

    __마이크로서비스 환경 단순화

    ____이스티오 인그레스 게이트웨이로 쿠버네티스 인그레스 컨트롤러 대체

    ____이스티오 예거 컴포넌트로 집킨 서버 대체

    __쿠버네티스 클러스터에 이스티오 배포

    ____이스티오 서비스에 대한 접근 설정

    __서비스 메시 생성

    ____소스 코드 변경

    ____커맨드를 실행해 서비스 메시 생성

    __서비스 메시 관찰

    __서비스 메시 보안

    ____HTTPS와 인증서로 외부 엔드포인트 보호

    ____OAuth 2.0/OIDC 접근 토큰을 사용한 외부 요청 인증

    ____상호 인증을 사용한 내부 통신 보호

    __서비스 메시의 복원력 확보

    ____결함을 삽입해 탄력성 테스트

    ____지연을 삽입해 복원력 테스트

    __비가동 시간 없이 업데이트 수행

    ____소스 코드 변경

    ____v1 및 v2 버전의 마이크로서비스 배포

    ____모든 트래픽이 v1 버전의 마이크로서비스로 전달되는지 확인

    ____카나리아 테스트 실행

    ____블루/그린 배포 실행

    __도커 컴포즈로 테스트 실행

    __요약

    __질문

     

     

    19장. EFK 스택을 사용한 로깅 중앙화

    __기술 요구 사항

    __플루언티드 소개

    ____플루언티드 개요

    ____플루언티드 구성

    __쿠버네티스에 EFK 스택 배포

    ____마이크로서비스 빌드 및 배포

    ____일래스틱서치와 키바나 배포

    ____플루언티드 배포

    __EFK 스택 실습

    ____키바나 초기화

    ____로그 레코드 분석

    ____마이크로서비스의 로그 레코드 검색

    ____근본 원인 분석 수행

    __요약

    __질문

     

     

    20장. 마이크로서비스 모니터링

    __기술 요구 사항

    __프로메테우스와 그라파나를 사용한 성능 모니터링

    __애플리케이션 메트릭 수집을 위한 소스 코드 변경

    __마이크로서비스 빌드 및 배포

    __그라파나 대시보드를 사용한 마이크로서비스 모니터링

    ____테스트용 로컬 메일 서버 설치

    ____부하 테스트 실행

    ____키알리 내장 대시보드 사용

    ____기존 그라파나 대시보드 가져오기

    ____사용자 정의 그라파나 대시보드 개발

    ____그라파나 대시보드 내보내기 및 가져오기

    __그라파나 경고 설정

    ____메일 기반 알림 채널 정의

    ____서킷 브레이커에 경고 설정

    ____서킷 브레이커 경고 테스트

    __요약

    __질문

     

     

    21장. 맥OS용 설치 지침

    __기술 요구 사항

    __도구 설치

    ____홈브루 설치

    ____홈브루로 도구 설치

    ____홈브루 없이 도구 설치

    ____설치 후 조처

    ____설치 확인

    __소스 코드 다운로드

    ____IDE 사용

    ____코드 구조

     

     

    22장. 윈도우용 설치 지침

    __기술 요구 사항

    __도구 설치

    ____윈도우용 도구 설치

    ____WSL 2 리눅스 서버에 도구 설치

    __소스 코드 다운로드

    ____코드 구조

     

     

    23장. 자바 마이크로서비스의 네이티브 컴파일

    __기술 요구 사항

    __자바 소스 코드의 네이티브 컴파일이 필요한 이유

    __그랄VM 프로젝트 소개

    __스프링 네이티브 프로젝트 소개

    __소스 코드를 네이티브 이미지로 컴파일

    ____소스 코드 변경

    ____추적 에이전트 설치

    ____추적 에이전트 실행

    ____네이티브 이미지 생성

    __도커 컴포즈로 테스트

    __쿠버네티스로 테스트

    __요약

    __질문

     

    출판사 서평

    ◈ 요약 ◈

     

    기존 일체형 애플리케이션을 마이크로서비스로 나누고 온프레미스나 클라우드로 배포하려는 자바, 스프링 개발자와 아키텍트를 위한 책이다.

    스프링 부트, 스프링 클라우드와 도커, 쿠버네티스, 이스티오, EFK 스택, 프로메테우스, 그라파나 등의 오픈소스 도구를 조합해 마이크로서비스를 구축하는 방법을 설명한다. 오픈소스 도구와 스프링 기반 자바 코드를 실습 위주로 설명하며, 최소한의 시간 투자만으로도 다양하고 넓은 범위의 지식을 학습할 수 있게끔 효율적으로 구성돼 있다.

    개정판은 스프링 부트와 다양한 오픈소스 도구의 최신 버전을 사용해 보다 쉽고 빠르게 학습할 수 있도록 내용을 업데이트했으며, 스프링 기반 마이크로서비스를 네이티브 컴파일하는 방법, 윈도우 WSL 2 환경 설정 방법, 헬름 3 사용 방법 등의 내용을 추가했다.

     

     

    ◈ 이 책에서 다루는 내용 ◈

     

    ◆ 스프링 부트를 사용한 리액티브 마이크로서비스 구축

    ◆ 스프링 클라우드를 사용해 복원력 및 확장성 있는 마이크로서비스 개발

    ◆ 스프링 시큐리티 및 OAuth 2.1/OIDC를 사용해 공개 API 보호

    ◆ 도커를 사용해 개발, 테스트 환경과 상용 환경 사이의 격차 해소

    ◆ 쿠버네티스를 사용한 마이크로서비스 배포 및 관리

    ◆ 이스티오를 사용한 보안성, 관찰 가능성, 트래픽 관리 편의성 향상

    ◆ JUnit, Testcontainers, 그래들(Gradle), 배시(Bash)를 사용해 자동화된 마이크로서비스 테스트 작성 및 실행

     

     

    ◈ 이 책의 대상 독자 ◈

     

    쿠버네티스를 컨테이너 오케스트레이터(container orchestrator)로 사용하고 이스티오를 서비스 메시(service mesh)로 사용해, 기반 마이크로서비스 환경을 구축하고 온프레미스(onpremise)나 클라우드로 배포하는 방법을 배우려는 자바, 스프링 개발자와 아키텍트를 위한 책이다. 마이크로서비스 아키텍처(microservice architecture)에 익숙하지 않더라도 문제없이 읽을 수 있다.

     

     

    ◈ 이 책의 구성 ◈

     

    1장, ‘마이크로서비스 소개’에서는 이 책의 기본 전제인 마이크로서비스의 필수 개념과 디자인 패턴을 설명한다.

    2장, ‘스프링 부트 소개’에서는 스프링 부트와 책의 앞부분에서 사용할 오픈소스 프로젝트를 소개한다. RESTful API 개발에 사용하는 스프링 웹플럭스, OpenAPI 기반 API 문서를 생성하는 springdoc-openapi, SQL 및 NoSQL 데이터베이스에 데이터를 저장할 때 사용하는 스프링 데이터, 메시지 기반의 마이크로서비스에서 사용하는 스프링 클라우드 스트림, 마이크로서비스를 컨테이너로 실행하는 도커 등을 소개한다.

    3장, ’공조 마이크로서비스 집합’에서는 생성 공조 마이크로서비스 집합을 생성하는 방법을 설명한다. 스프링 이니셜라이저(Spring Initializr)를 사용해 스프링 프레임워크 5.3 및 스프링 부트 2.5 기반의 골격 프로젝트를 생성하고 세 가지 핵심 서비스를 만든다. 또한 세 가지 핵심 서비스에서 얻은 정보를 집계해 복합적 결과를 만드는 복합 서비스도 만든다. 3장의 뒷부분에선 스프링 웹플럭스(Spring WebFlux)를 기반으로 기본적인 RESTful API를 추가하는 방법을 배우며, 4장에서는 더 많은 기능을 마이크로서비스에 추가한다.

    4장, ‘도커를 사용한 마이크로서비스 배포’에서는 도커를 사용해 마이크로서비스를 배포하는 방법을 설명한다. Dockerfile이나 docker-compose 파일을 이용해 전체 마이크로서비스 환경을 하나의 커맨드로 시작하는 방법을 배우고, 여러 스프링 프로필을 사용해 도커용 구성과 이외의 구성을 분리해서 처리하는 방법도 살펴본다.

    5장, ‘OpenAPI를 사용한 API 문서화’에서는 OpenAPI를 사용해, 마이크로서비스에서 공개하는 API를 빠르게 문서화하는 방법을 배운다. 서비스 코드에 붙인 애노테이션(annotation)을 검사해 OpenAPI 기반의 API 문서를 생성하는 springdoc-openapi와 웹 브라우저에서 API를 테스트하는 스웨거 UI(Swagger UI)를 사용해본다.

    6장, ‘영속성 추가’에서는 마이크로서비스 데이터에 영속성을 부여하는 방법을 배운다. 스프링 데이터를 사용해 두 핵심 마이크로서비스의 데이터를 문서 데이터베이스인 MongoDB에 저장 및 접근하게 하고, 나머지 마이크로서비스의 데이터는 관계형 데이터베이스인 MySQL에 두고 접근하게 한다. 통합 테스트를 실행할 때는 Testcontainers를 사용해 데이터베이스를 시작한다.

    7장, ‘리액티브 마이크로서비스 개발’에서는 리액티브(reactive) 방식을 사용해야 하는 이유와 사용 시기, 종단 간(end-to-end) 리액티브 서비스를 개발하는 방법을 배운다. 논블로킹(non-blocking) 동기 방식 RESTful API, 이벤트 기반 비동기 방식 서비스를 개발하고 테스트하는 방법도 배운다. 또한 MongoDB용 리액티브 논블로킹 드라이버 사용 방법과 일반적인 MySQL용 블로킹 코드 사용 방법을 배운다.

    8장, ‘스프링 클라우드 소개’에서는 이 책에서 사용하는 스프링 클라우드 및 스프링 클라우드 컴포넌트를 소개한다.

    9장, ‘넷플릭스 유레카를 사용한 서비스 검색’에서는 스프링 클라우드에 넷플릭스 유레카(Netflix Eureka)를 사용해 서비스 검색 기능을 추가하는 방법을 알아본다. 즉 넷플릭스 유레카 기반의 서비스 검색 서버를 시스템 환경에 추가하고, 스프링 클라우드 로드 밸런서(LoadBalancer)를 사용해 다른 마이크로서비스를 찾도록 마이크로서비스를 구성한다. 또한 자동으로 마이크로서비스를 등록하는 방법과 스프링 클라우드 로드 밸런서를 통해 전달된 트래픽을 활성화된 새 인스턴스로 자동 로드 밸런싱하는 방법을 배운다.

    10장, ‘스프링 클라우드 게이트웨이를 에지 서버로 사용’에서는 스프링 클라우드 게이트웨이를 사용해 마이크로서비스를 에지 서버(edge server) 뒤로 숨기고, 골라낸 일부 API만 외부 소비자에게 공개하는 방법을 배운다. 또한 외부 소비자가 볼 수 없도록 마이크로서비스 내부의 복잡성을 숨기는 방법을 살펴본다. 즉 스프링 클라우드 게이트웨이 기반의 에지 서버를 시스템 환경에 추가하고 공개 API만 노출하도록 에지 서버를 구성한다.

    11장, ‘API 접근 보안’에서는 OAuth 2.0 및 OpenID Connect를 사용해 공개 API를 보호하는 방법을 설명한다. Spring Authorization Server 기반의 OAuth 2.0 권한 서버를 시스템 환경에 추가하는 방법과 해당 권한 서버에서 발급한 유효한 접근 토큰을 가진 클라이언트만 에지 서버와 복합 서비스에 접근할 수 있도록 구성하는 방법을 배운다. 또한 에지 서버를 통해 권한 부여 서버를 공개하고 HTTPS를 사용해 외부 소비자와의 통신을 보호하는 방법을 알아본다. 마지막으로, 내부 OAuth 2.0 인증 서버를 외부 OpenID Connect 공급자인 Auth0로 교체하는 방법을 배운다.

    12장, ‘구성 중앙화’에서는 하나의 중앙 구성 저장소에서 모든 마이크로서비스의 구성 파일을 가져오고, 구성 서버를 사용해 런타임(runtime)에 마이크로서비스로 구성을 배포하는 방법을 배운다. 또한 시스템 환경에 스프링 클라우드 컨피그 서버(Spring Cloud Config Server)를 추가하고 스프링 컨피그 서버(Spring Config Server)에서 구성을 가져오도록 마이크로서비스를 구성하는 방법을 살펴본다.

    13장, ‘Resilience4j를 사용한 복원력 개선’에서는 Resilience4j의 기능을 이용해 연쇄 장애(chain of failure) 같은 안티 패턴(anti-pattern)을 방지하는 방법을 설명하며, 복합 서비스에 재시도 메커니즘과 서킷 브레이커(circuit breaker)를 추가하는 방법을 배운다. 서킷이 열려 있을 때 빠른 실패 로직이 작동하도록 서킷 브레이커를 구성하는 방법과 폴백 메서드(fallback method)를 사용해 최적화된 응답을 생성하는 방법도 배운다.

    14장, ‘분산 추적’에서는 집킨(Zipkin)을 사용해 추적 정보를 수집하고 시각화하는 방법을 설명한다. 또한 스프링 클라우드 슬루스(Spring Cloud Sleuth)로 요청에 추적 ID를 추가해 공조 마이크로서비스 간의 요청 체인을 시각화하는 방법을 배운다.

    15장, ‘쿠버네티스 소개’에서는 쿠버네티스의 핵심 개념과 샘플 디플로이먼트(sample deployment) 생성 방법을 설명한다. 미니큐브(Minikube)를 사용해 개발 및 테스트 용도의 쿠버네티스를 로컬에 설치하는 방법을 배운다.

    16장, ‘쿠버네티스에 마이크로서비스 배포’에서는 쿠버네티스에 마이크로서비스를 배포하는 방법을 설명하며, 헬름(Helm)을 사용해 쿠버네티스에 배포할 마이크로서비스를 패키징하고 구성하는 방법을 배운다. 테스트 환경, 상용 환경 등 다양한 런타임 환경에 헬름을 사용해 마이크로서비스를 배포한다. 또한 쿠버네티스 서비스 객체와 kube-proxy 런타임 컴포넌트를 기반으로 하는, 쿠버네티스에 내장된 서비스 검색 기능으로 넷플릭스 유레카를 대체하는 방법을 배운다.

    17장, ‘쿠버네티스로 기존 시스템 환경 대체’에서는 앞에서 소개한 스프링 클라우드 서비스를 쿠버네티스 기능으로 대체하는 방법을 설명한다. 스프링 클라우드 컨피그 서버를 쿠버네티스 시크릿과 컨피그맵(ConfigMap)으로 대체하는 이유와 방법을 배운다. 또한 스프링 클라우드 게이트웨이를 쿠버네티스 인그레스(Kubernetes Ingress) 객체로 대체하는 방법과 cert-manager를 사용해 외부 HTTPS 엔드포인트를 위한 인증서를 자동으로 프로비저닝하고 갱신하는 방법을 배운다.

    18장, ‘서비스 메시를 사용해 관찰 가능성 및 관리 편의성 개선’에서는 서비스 메시 개념을 소개하고 이스티오를 사용해 쿠버네티스에 서비스 메시를 구현하는 방법을 설명한다. 서비스 메시를 사용해 마이크로서비스 환경의 복원력, 보안, 트래픽 관리, 관찰 가능성을 향상하는 방법을 배운다.

    19장, ‘EFK 스택을 사용한 로깅 중앙화’에서는 일래스틱서치(Elasticsearch), 플루언티드(Fluentd), 키바나(Kibana)를 사용해 마이크로서비스의 로그 스트림(log stream)을 수집, 저장, 시각화하는 방법을 설명한다. 미니큐브에 EFK 스택을 배포하는 방법과 EFK 스택으로 수집한 로그 레코드를 분석하는 방법, 여러 마이크로서비스가 관련된 요청을 처리하면서 발생하는 마이크로서비스 로그 출력을 찾는 방법을 배운다. 또한 EFK 스택을 사용해 근본 원인 분석을 수행하는 방법을 알아본다.

    20장, ‘마이크로서비스 모니터링’에서는 프로메테우스와 그라파나를 이용해 쿠버네티스에 배포된 마이크로서비스를 모니터링하는 방법을 설명한다. 기존 그라파나 대시보드를 활용해 다양한 유형의 메트릭을 모니터링하는 방법과 직접 대시보드를 만드는 방법을 배운다. 마지막으로, 그라파나에서 특정 메트릭에 임곗값을 구성하고, 이를 초과하면 이메일을 전송하는 경고를 생성하는 방법을 배운다.

    21장, ‘맥OS용 설치 지침’에서는 맥OS(MacOS)에 이 책에서 사용하는 도구를 설치하는 방법을 설명한다.

    22장, ‘윈도우용 설치 지침’에서는 윈도우 PC에 리눅스용 윈도우 하위 시스템 v2(WSL 2, Windows Subsystem for Linux 2)를 사용해 이 책에서 사용하는 도구를 설치하는 방법을 설명한다.

    23장, ‘자바 마이크로서비스의 네이티브 컴파일’에서는 스프링 네이티브(Spring Native) 베타 버전과 그랄VM 네이티브 이미지 컴파일러(GraalVM native-image compiler)를 사용해 스프링 기반 마이크로서비스를 네이티브 코드로 컴파일하는 방법을 설명한다. 자바 VM(Java Virtual Machine) 기반 마이크로서비스보다 시작 속도가 월등히 빠른 마이크로서비스를 생성할 수 있다.

     

    각 장의 말미에는 해당 장에서 다루는 내용을 정리하는 데 도움이 되는 간단한 질문이 몇 개씩 있다. 질문에 대한 답은 깃허브 저장소에 있는 Assessments 파일에 있다.

     

     

    ◈ 지은이의 말 ◈

     

    스프링 부트와 스프링 클라우드를 사용해 상용 마이크로서비스를 구축하는 방법을 설명하는 책이다. 내가 처음 마이크로서비스 학습을 시작한 8년 전에 바로 이런 책을 찾아 헤맸다.

    나는 공조 마이크로서비스 환경을 개발, 테스트, 배포, 관리할 때 사용하는 오픈소스 소프트웨어를 학습하고 익숙해진 후에 이 책을 썼다.

    주로 스프링 부트, 스프링 클라우드, 도커, 쿠버네티스, 이스티오, EFK 스택(Elasticsearch, Fluentd, Kibana stack), 프로메테우스(Prometheus), 그라파나(Grafana)에 대해 다룬다. 이런 오픈소스 도구는 개별적으로는 훌륭하게 작동하지만, 여러 도구를 어떤 방식으로 조합하는 게 좋을지 알아내기 어렵다. 어떤 영역에서는 상호 보완적이지만 다른 영역에서는 겹쳐서 특정 상황에 맞는 명확한 조합이 있는 것이 아니기 때문이다.

    이런 오픈소스 도구를 함께 사용하는 방법을 실습을 바탕으로 단계별로 설명한다. 내가 마이크로서비스 학습을 시작한 8년 전에 이런 책을 찾긴 했지만 오픈소스 도구는 업데이트된 버전을 사용한다.

     

    ◈ 옮긴이의 말 ◈

     

    시스템 통합이나 엔터프라이즈 업계에서 일하는 자바 개발자라면 갑작스럽게 밀어닥친 마이크로서비스 열풍과 이를 보조하는 도커, 쿠버네티스 등 컨테이너 기반 환경의 인기에 부담감을 느낄 수밖에 없을 것이다. 좀 더 유연하고 확장성 있는 서비스를 위한 시대적인 요구에 따른 것이라곤 하지만, 개발 자체가 아닌 기반 환경의 변화에 따라 맞닥뜨린 급격한 학습 곡선은 개발자에게 그리 달가운 상황은 아니기 때문이다.

    이런 새로운 변화에 따른 학습이 필요하다고 느낀다면 이 책이 좋은 선택이 될 것이다. 개발자와 아키텍트가 편하게 볼 수 있도록 이론과 실습을 적절히 조합했고, 스프링 부트와 스프링 클라우드를 이용해 마이크로서비스를 구축하는 방법을 설명한다. 또한 다양한 오픈소스 도구를 도입해야 하는 이유와 스프링 애플리케이션과의 연동 방법을 친절하게 알려준다. 넓은 범위를 다루지만 각 기술 요소의 소개보다는 소스 코드 중심으로 실무에 필요한 범위에 맞춰 핵심을 전달하는 책이라고 말할 수 있다.

     

    저자 소개
    저자 : 매그너스 라슨
    도서리뷰
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    이 책과 함께 구매한 책
    투자의 진화 - 벤처투자가 만든 파괴와 혁신의 신세계세바스찬 말라비 | 위즈덤하우스
    두근두근 C언어 with 챗GPT-개정판천인국 | 생능출판사
    파이썬 인공지능과 함께하는 토리드론 교재+드론 세트구덕회 , 박재일 , 김용환 | 잇플ITPLE
    Tucker의 Go 언어 프로그래밍 -2판: Golang 입문부터 HTTPS, RESTful API Gin gnet gRPC을 활용하는 서버 네트워크 기법까지공봉식 | 골든래빗
    컴퓨터 비전과 딥러닝오일석 | 한빛아카데미
    컴퓨터 네트워크(Wireshark로 배우는)(개정판)이재광,김봉한 | 생능출판사
    TCP/IP 네트워크 프로토콜의 이해(TCP/IP ILLUSTRATED VOL.1)(2/E)(네트워크 프로그래밍)케빈폴,리차드스티븐스 | 에이콘출판
    한권으로 파이썬과 드론 날로 먹기: 인공지능편-교재+드론 세트(개정2판)이현종,박재일 | 잇플ITPLE
    투자의 진화 - 벤처투자가 만든 파괴와 혁신의 신세계세바스찬 말라비 | 위즈덤하우스
    두근두근 C언어 with 챗GPT-개정판천인국 | 생능출판사
    파이썬 인공지능과 함께하는 토리드론 교재+드론 세트구덕회 , 박재일 , 김용환 | 잇플ITPLE
    Tucker의 Go 언어 프로그래밍 -2판: Golang 입문부터 HTTPS, RESTful API Gin gnet gRPC을 활용하는 서버 네트워크 기법까지공봉식 | 골든래빗
    컴퓨터 비전과 딥러닝오일석 | 한빛아카데미
    컴퓨터 네트워크(Wireshark로 배우는)(개정판)이재광,김봉한 | 생능출판사
    TCP/IP 네트워크 프로토콜의 이해(TCP/IP ILLUSTRATED VOL.1)(2/E)(네트워크 프로그래밍)케빈폴,리차드스티븐스 | 에이콘출판
    한권으로 파이썬과 드론 날로 먹기: 인공지능편-교재+드론 세트(개정2판)이현종,박재일 | 잇플ITPLE
    이 분야에서 요즘 뜨는 책
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    이 분야의 화제의 신간
    AI 루프를 설계하라: AI의 속도를 소프트웨어 품질로 바꾸는 하네스 - AI가 만든 코드를 책임져야 하는 개발자를 위한 검증 가능한 루프신상윤 | 한빛미디어
    클로드 코드로 완성하는 에이전틱 코딩 자동화 - 기획부터 테스트까지 직접 구현하면서 배우는 AI 주도 개발 실전 활용법오사와 후미타카 | 위키북스
    AI 쓰는 어른의 IT 상식 - 넷플릭스.배달의민족.챗GPT.테슬라까지 매일 쓰는 서비스로 이해하는 49가지 IT 개념스펜서 | 한빛미디어
    한 땀 한 땀 나의 첫 AI 에이전트 - 바닥부터 하나씩 만들며 배우는 AI 에이전트와 다이나믹 컨텍스트 엔지니어링허정준, 송영희 | 책만
    직장인을 위한 AI 업무 설계의 기술 - 클로드를 업무에 제대로 심고 검증하고 팀에 정착시키는 하네스 운영 원칙이민수 | 한빛미디어
    AI 루프를 설계하라: AI의 속도를 소프트웨어 품질로 바꾸는 하네스 - AI가 만든 코드를 책임져야 하는 개발자를 위한 검증 가능한 루프신상윤 | 한빛미디어
    클로드 코드로 완성하는 에이전틱 코딩 자동화 - 기획부터 테스트까지 직접 구현하면서 배우는 AI 주도 개발 실전 활용법오사와 후미타카 | 위키북스
    AI 쓰는 어른의 IT 상식 - 넷플릭스.배달의민족.챗GPT.테슬라까지 매일 쓰는 서비스로 이해하는 49가지 IT 개념스펜서 | 한빛미디어
    한 땀 한 땀 나의 첫 AI 에이전트 - 바닥부터 하나씩 만들며 배우는 AI 에이전트와 다이나믹 컨텍스트 엔지니어링허정준, 송영희 | 책만
    직장인을 위한 AI 업무 설계의 기술 - 클로드를 업무에 제대로 심고 검증하고 팀에 정착시키는 하네스 운영 원칙이민수 | 한빛미디어
    AI 루프를 설계하라: AI의 속도를 소프트웨어 품질로 바꾸는 하네스 - AI가 만든 코드를 책임져야 하는 개발자를 위한 검증 가능한 루프신상윤 | 한빛미디어
    클로드 코드로 완성하는 에이전틱 코딩 자동화 - 기획부터 테스트까지 직접 구현하면서 배우는 AI 주도 개발 실전 활용법오사와 후미타카 | 위키북스
    AI 쓰는 어른의 IT 상식 - 넷플릭스.배달의민족.챗GPT.테슬라까지 매일 쓰는 서비스로 이해하는 49가지 IT 개념스펜서 | 한빛미디어
    이 분야의 새로 나온 도서
    초지능 담론의 철학적 분석(AI문고)조현진 | 커뮤니케이션북스
    초등학교 AI 리터러시 교육(인공지능총서)정용복 | 커뮤니케이션북스
    초거대 인공지능(큰글자책)(인공지능총서)전원 | 커뮤니케이션북스
    초거대 인공지능(인공지능총서)전원 | 커뮤니케이션북스
    유선배 GTQ 포토샵 1급 ver. Adobe CC 핵심기능+기출변형+무료강의(2027대비)조인명 | 시대에듀
    초등학교 AI 리터러시 교육(큰글자책)(인공지능총서)정용복 | 커뮤니케이션북스
    리눅스 디바이스 드라이버 인사이드 - PCle. DMA. RDMA까지 배우는 커널 실전 프로그래밍진성근 | 홍릉
    초지능 담론의 철학적 분석(큰글자책)(AI문고)조현진 | 커뮤니케이션북스
    초지능 담론의 철학적 분석(AI문고)조현진 | 커뮤니케이션북스
    초등학교 AI 리터러시 교육(인공지능총서)정용복 | 커뮤니케이션북스
    초거대 인공지능(큰글자책)(인공지능총서)전원 | 커뮤니케이션북스
    초거대 인공지능(인공지능총서)전원 | 커뮤니케이션북스
    유선배 GTQ 포토샵 1급 ver. Adobe CC 핵심기능+기출변형+무료강의(2027대비)조인명 | 시대에듀
    초등학교 AI 리터러시 교육(큰글자책)(인공지능총서)정용복 | 커뮤니케이션북스
    리눅스 디바이스 드라이버 인사이드 - PCle. DMA. RDMA까지 배우는 커널 실전 프로그래밍진성근 | 홍릉
    초지능 담론의 철학적 분석(큰글자책)(AI문고)조현진 | 커뮤니케이션북스
    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
    공지사항
    • [이벤트 당첨자 발표] 26년 9월 <리뷰왕을 찾아라> 이벤트 당첨자 안내
    • [이벤트 당첨자 발표] 무라카미 하루키 『가호』 기대평 이벤트 당첨자 발표
    • [이벤트 당첨자 발표] 재레드 다이아몬드 『리더는 언제 차이를 만들어내는가』 리뷰 이벤트 당첨자 발표
    • [이벤트 당첨자 발표] 10월 모두의 서가 이벤트 당첨자 안내
    • [공지사항] 추석 연휴 전국 지점 영업시간 안내
    공지더보기