본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

이벤트 기반 마이크로서비스 구축 상세페이지

컴퓨터/IT 개발/프로그래밍

이벤트 기반 마이크로서비스 구축

대규모 조직 데이터를 활용하는 기법
소장종이책 정가28,000
전자책 정가20%22,400
판매가22,400
이벤트 기반 마이크로서비스 구축 표지 이미지

이벤트 기반 마이크로서비스 구축작품 소개

<이벤트 기반 마이크로서비스 구축> 실시간 데이터 활용을 위한 새로운 시스템 아키텍처 가이드



이벤트 기반 마이크로서비스 아키텍처를 소개하는 실무 개론서다. 구조, 통신, 통합, 배포 등 기본 개념을 그림과 함께 구체적으로 설명한다. 따라서 이벤트 기반 시스템 구축 방식을 마이크로서비스로 전환하고자 하는 입문 개발자도 쉽게 읽을 수 있다. 넷플릭스, 링크드인, 스포티파이, 우버 등 세계 IT 기업들이 도입한 실제 데이터 사용법과 서비스 접근법을 익혀보자.





추천사



확장을 관리하고 복잡도를 길들이는 인싸들만의 비결!

_스콧 모리슨, PHEMI Systems 최고 기술 책임자(CTO)



이벤트 기반 시스템에 관심 있는 모든 이에게 알짜배기 정보다. 이 책이 나오길 손꼽아 기다렸다!

_벤 스토퍼드, 컨플루언트 수석 기술자, 『Designing Event-Driven Systems』 저자

이벤트 기반 마이크로서비스를 실무에 도입하려는 입문자를 위한 실용적인 가이드북



오늘날 조직은 다양한 요구 사항과 계속 증가하는 데이터로 인해 어려움을 겪는다. 특히, 실시간 데이터 활용에 대한 수요가 증가하고 있어, 새로운 시스템 아키텍처 도입이 절실하게 요구된다. 이 책은 대규모 조직 데이터를 처리하기 위해 이벤트 기반 마이크로서비스로 전환하려는 실무 입문자를 위한 실용적인 가이드북이다. 이벤트 기반 마이크로서비스 구축 방법, 적합한 애플리케이션 패턴, 도입 시 필요한 구성 요소와 도구, 일반 마이크로서비스와의 차이점 등을 친절하게 안내하고 본인의 환경에 맞는 비즈니스 기능에 집중할 수 있는 토대를 갖추도록 돕는다. 대용량 데이터를 다루는 환경에서 기존의 데이터베이스로 데이터를 처리하려면, 여러 가지 어려움과 한계점에 맞딱뜨리기 쉽다. 이 책에서 소개하는 알짜배기 정보를 활용하면 이벤트 기반 시스템의 여러 문제를 연구하고 해결할 수 있다.

통신 레이어
비즈니스 도메인과 경계 콘텍스트
공용 도구와 인프라
스키마화 이벤트
데이터 해방, 단일 진실 공급원
마이크로서비스 구현 옵션
테스트
배포


저자 프로필

애덤 벨메어

  • 경력 쇼피파이(Shopify) 데이터 플랫폼팀 근무

2021.04.29. 업데이트 작가 프로필 수정 요청

2020년부터 쇼피파이(Shopify) 데이터 플랫폼팀에 합류한 선임 엔지니어. 2020년 전에는 플립(Flipp)과 블랙베리(BlackBerry)에서 소프트웨어 개발자로 근무하며 이벤트 기반 시스템에 처음 눈을 뜨게 됐다. 데브옵스(카프카, 스파크, 메소스, 쿠버네티스, 솔라, 일래스틱서치, HBase, 주키퍼 클러스터, 프로그램식 구축/확장/모니터링) 분야의 전문가로서 기술 리더십(회사가 데이터 통신 레이어를 구축하고, 기존 시스템과 연계하고, 새로운 시스템을 개발하고, 제품을 전달하는 일에 집중하도록 지원), 소프트웨어 개발(빔, 스파크, 카프카 스트림즈 라이브러리를 이용하여 자바/스칼라 언어로 이벤트 기반 마이크로서비스 구축), 데이터 엔지니어링(사용자 기기에서 행동 기반 데이터를 수집하여 조직 내부에 공유) 분야에 많은 노하우를 갖고 있다.


저자 소개

저자
애덤 벨메어

2020년부터 쇼피파이(Shopify) 데이터 플랫폼팀에 합류한 선임 엔지니어. 2020년 전에는 플립(Flipp)과 블랙베리(BlackBerry)에서 소프트웨어 개발자로 근무하며 이벤트 기반 시스템에 처음 눈을 뜨게 됐다. 데브옵스(카프카, 스파크, 메소스, 쿠버네티스, 솔라, 일래스틱서치, HBase, 주키퍼 클러스터, 프로그램식 구축/확장/모니터링) 분야의 전문가로서 기술 리더십(회사가 데이터 통신 레이어를 구축하고, 기존 시스템과 연계하고, 새로운 시스템을 개발하고, 제품을 전달하는 일에 집중하도록 지원), 소프트웨어 개발(빔, 스파크, 카프카 스트림즈 라이브러리를 이용하여 자바/스칼라 언어로 이벤트 기반 마이크로서비스 구축), 데이터 엔지니어링(사용자 기기에서 행동 기반 데이터를 수집하여 조직 내부에 공유) 분야에 많은 노하우를 갖고 있다.

역자
이일웅

현재 국내 통신사의 차세대 프로젝트에서 카프카 담당 소프트웨어 아키텍트로 일한다. 2~3년 전부터 이벤트 기반의 마이크로서비스 아키텍처 설계에 많은 관심을 갖게 되었으며, 카프카 기술에도 관심이 많아 콘플루언트 인증 아파치 카프카 개발자/관리자(CCDAK, CCAAK) 자격을 취득했다. 십수 년간 다양한 엔터프라이즈 프로젝트 현장을 누벼왔고 이제는 어느덧 중년 아재가 되었지만, 아직도 코드와 씨름하며 열정적인 기술자로서 활동 중인 두 딸의 아빠다.

목차

CHAPTER 1 왜 이벤트 기반 마이크로서비스인가?

__1.1 이벤트 기반 마이크로서비스란?

__1.2 도메인 주도 설계와 경계 콘텍스트

__1.3 통신 구조

__1.4 기존 컴퓨팅의 통신 구조

__1.5 이벤트 기반 통신 구조

__1.6 비동기식 이벤트 기반 마이크로서비스

__1.7 동기식 마이크로서비스

__1.8 마치며



CHAPTER 2 이벤트 기반 마이크로서비스 기초

__2.1 토폴로지 구성

__2.2 이벤트 콘텐츠

__2.3 이벤트 구조

__2.4 엔티티 이벤트에서 상태를 구체화

__2.5 이벤트 데이터 정의와 스키마

__2.6 마이크로서비스 단일 작성자 원칙

__2.7 마이크로서비스를 이벤트 브로커로 강화

__2.8 이벤트 브로커 대 메시지 브로커

__2.9 대규모 마이크로서비스 관리

__2.10 마이크로서비스 세금 납부

__2.11 마치며



CHAPTER 3 통신 및 데이터 규약

__3.1 이벤트 기반 데이터 규약

__3.2 이벤트 포맷 선택

__3.3 이벤트 설계

__3.4 마치며



CHAPTER 4 기존 시스템에 이벤트 기반 아키텍처 통합

__4.1 데이터 해방이란?

__4.2 데이터 해방 패턴

__4.3 데이터 해방 프레임워크

__4.4 쿼리로 데이터 해방

__4.5 CDC 로그로 데이터 해방

__4.6 아웃박스 테이블로 데이터 해방

__4.7 데이터 정의 변경을 캡처 대상 데이터 세트로

__4.8 이벤트 데이터를 데이터 저장소에 싱킹

__4.9 싱킹과 소싱의 비즈니스 영향도

__4.10 마치며



CHAPTER 5 이벤트 기반 처리 기본

__5.1 상태 비저장 토폴로지 구성

__5.2 이벤트 스트림 리파티션

__5.3 이벤트 스트림 코파티션

__5.4 컨슈머 인스턴스에 파티션 할당

__5.5 상태 비저장 처리 인스턴스 실패 복구

__5.6 마치며



CHAPTER 6 확정적 스트림 처리

__6.1 이벤트 기반 워크플로의 확정성

__6.2 타임스탬프

__6.3 이벤트 스케줄링과 확정적 처리

__6.4 워터마크

__6.5 스트림 시간

__6.6 비순차 이벤트와 지각 이벤트

__6.7 지각 이벤트 처리

__6.8 재처리 대 준실시간 처리

__6.9 간헐적 실패와 지각 이벤트

__6.10 프로듀서/이벤트 브로커 연결 문제

__6.11 마치며(더 읽을거리)



CHAPTER 7 상태 저장 스트리밍

__7.1 상태 저장소, 이벤트 스트림에서 상태 구체화

__7.2 체인지로그 이벤트 스트림에 상태 기록

__7.3 내부 상태 저장소에 상태 구체화

__7.4 외부 상태 저장소에 상태 구체화

__7.5 재구성 대 상태 저장소 마이그레이션

__7.6 트랜잭션과 실제로 한 번 처리

__7.7 마치며



CHAPTER 8 마이크로서비스 워크플로 구축

__8.1 코레오그래피 패턴

__8.2 오케스트레이션 패턴

__8.3 분산 트랜잭션

__8.4 보상 워크플로

__8.5 마치며



CHAPTER 9 FaaS 응용 마이크로서비스

__9.1 함수 기반 솔루션을 마이크로서비스로 설계

__9.2 FaaS 공급자 선택

__9.3 함수를 마이크로서비스로 개발

__9.4 콜드 스타트, 웜 스타트

__9.5 트리거로 함수 시동

__9.6 비즈니스 업무를 함수로 처리

__9.7 상태 관리

__9.8 함수에서 다른 함수 호출

__9.9 종료 및 중단

__9.10 함수 튜닝

__9.11 FaaS 솔루션 확장

__9.12 마치며



CHAPTER 10 기본 프로듀서/컨슈머 마이크로서비스

__10.1 BPC의 알맞은 용도는?

__10.2 하이브리드 BPC 애플리케이션으로 외부 스트리밍을 처리

__10.3 마치며



CHAPTER 11 대용량 프레임워크 마이크로서비스

__11.1 대용량 프레임워크의 간략한 역사

__11.2 대용량 프레임워크의 내부 작동 원리

__11.3 장점 및 제약

__11.4 클러스터 구성 옵션과 실행 모드

__11.5 애플리케이션 제출 모드

__11.6 상태 처리와 체크포인트 활용

__11.7 애플리케이션 확장과 이벤트 스트림 파티션 처리

__11.8 실패 복구

__11.9 멀티테넌시 이슈

__11.10 언어 및 구문

__11.11 프레임워크 선택

__11.12 예제: 클릭 및 뷰의 세션 윈도잉

__11.13 마치며



CHAPTER 12 경량 프레임워크 마이크로서비스

__12.1 장점 및 제약

__12.2 경량 처리

__12.3 상태 처리와 체인지로그 활용

__12.4 애플리케이션 확장과 실패 복구

__12.5 경량 프레임워크 선택

__12.6 언어 및 구문

__12.7 스트림-테이블-테이블 조인: 강화 패턴

__12.8 마치며



CHAPTER 13 이벤트 기반 마이크로서비스와 요청-응답 마이크로서비스의 통합

__13.1 외부 이벤트 처리

__13.2 자율적으로 생성된 분석 이벤트 처리

__13.3 서드파티 요청-응답 API 연계

__13.4 상태 저장 데이터 처리 및 서비스

__13.5 이벤트 기반 워크플로 내에서 요청 처리

__13.6 요청-응답 애플리케이션과 마이크로프런트엔드

__13.7 마이크로프런트엔드의 장점

__13.8 마이크로프런트엔드의 단점

__13.9 마치며



CHAPTER 14 지원 도구

__14.1 마이크로서비스-팀 배정 시스템

__14.2 이벤트 스트림 생성/변경

__14.3 이벤트 스트림 메타데이터 태깅

__14.4 쿼터

__14.5 스키마 레지스트리

__14.6 스키마 생성/변경 알림

__14.7 오프셋 관리

__14.8 이벤트 스트림 권한과 ACL

__14.9 상태 관리와 애플리케이션 리셋

__14.10 컨슈머 오프셋 랙 모니터링

__14.11 마이크로서비스 생성 프로세스 간소화

__14.12 컨테이너 관리 서비스

__14.13 클러스터 생성과 관리

__14.14 디펜던시 추적과 토폴로지 시각화

__14.15 마치며



CHAPTER 15 이벤트 기반 마이크로서비스 테스트

__15.1 일반 테스트 원칙

__15.2 단위 테스트 토폴로지 함수

__15.3 토폴로지 테스트

__15.4 스키마 진화와 호환성 테스트

__15.5 이벤트 기반 마이크로서비스의 통합 테스트

__15.6 로컬 통합 테스트

__15.7 완전 원격 통합 테스트

__15.8 완전 원격 통합 테스트 전략 선택

__15.9 마치며



CHAPTER 16 이벤트 기반 마이크로서비스 배포

__16.1 마이크로서비스 배포 원칙

__16.2 마이크로서비스 배포 아키텍처 컴포넌트

__16.3 기본 풀-스톱 배포 패턴

__16.4 롤링 업데이트 패턴

__16.5 중대한 스키마 변경 패턴

__16.6 블루-그린 배포 패턴

__16.7 마치며



CHAPTER 17 총정리

__17.1 통신 레이어

__17.2 비즈니스 도메인과 경계 콘텍스트

__17.3 공용 도구와 인프라

__17.4 스키마화 이벤트

__17.5 데이터 해방, 단일 진실 공급원

__17.6 마이크로서비스

__17.7 마이크로서비스 구현 옵션

__17.8 테스트

__17.9 배포



맺음말


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전