1부 완전히 새로운 접근법1장 스트리밍 데이터 소개1.1 실시간 시스템이란1.2 실시간 시스템과 스트리밍 시스템의 차이점1.3 스트리밍 데이터 아키텍처1.4 스트리밍 시스템의 보안1.5 서비스를 확장하는 방법1.6 정리2장 클라이언트에서 데이터 가져오기: 데이터 수집2.1 일반적인 통신 패턴2.1.1 요청/응답 패턴2.1.2 요청/확인응답 패턴2.1.3 발행/구독 패턴2.1.4 단방향 패턴2.1.5 스트림 패턴2.2 통신 패턴 확장하기2.2.1 요청/응답 파생 패턴2.2.2 스트림 패턴 확장하기2.3 내결함성2.3.1 RBML2.3.2 SBML2.3.3 HBL2.4 상용환경에 적용하기2.5 정리3장 수집 단계에서 데이터 전송: 데이터 파이프라인 분리3.1 메시지 큐 단계가 필요한 이유3.2 핵심 개념3.2.1 프로듀서, 브로커, 컨슈머3.2.2 프로듀서와 컨슈머의 격리3.2.3 메시지의 지속적 저장3.2.4 메시지 전달 시맨틱3.3 보안3.4 장애 허용3.5 비즈니스 요구사항들에 주요 개념을 적용해 보기3.6 정리4장 스트리밍 데이터 분석4.1 인플라이트 데이터 분석 이해하기4.2 분산 스트림 프로세싱 아키텍처4.3 스트림 프로세싱 프레임워크의 핵심 기능들4.3.1 메시지 전달 시맨틱4.4 정리5장 데이터 분석을 위한 알고리즘5.1 제약 조건 확인 및 완화5.2 시간에 대한 생각5.2.1 슬라이딩 윈도우5.2.2 텀블링 윈도우5.3 취합 기술들5.3.1 랜덤 샘플링5.3.2 데이터 개수 카운트5.3.3 빈도5.3.4 멤버십5.4 정리6장 분석 또는 수집한 데이터 저장6.1 장기 스토리지가 필요한 경우6.2 인메모리 저장소에 저장하기6.2.1 인메모리/플래시 메모리 기반 데이터베이스6.2.2 캐싱 시스템6.2.3 인메모리 데이터베이스와 인메모리 데이터 그리드6.3 활용 사례 살펴보기6.3.1 세션 내 개인화 서비스6.3.2 차세대 에너지 회사6.4 정리7장 데이터를 접근 가능하도록 만들기7.1 네트워크 통신 패턴7.1.1 데이터 동기화7.1.2 RMI와 RPC7.1.3 심플 메시징7.1.4 발행 - 구독7.2 클라이언트에 데이터를 전달하는 프로토콜 방식7.2.1 웹훅7.2.2 HTTP 롱풀링7.2.3 SSE7.2.4 웹소켓7.3 스트림 필터링7.3.1 어디서 필터링을 할 것인가7.3.2 정적 필터링 vs 동적 필터링7.4 실전 예제 : Meetup RSVP 스트리밍 API 만들기7.5 정리8장 컨슈머 디바이스에서 데이터 접근 시 가능성과 한계8.1 핵심 개념8.1.1 클라이언트의 읽기 속도가 빠를 경우8.1.2 데이터 처리 상태 관리8.1.3 데이터 유실 줄이기8.1.4 정확히 한 번으로 처리8.2 실제로 만들어보기: SuperMediaMarket8.3 웹 클라이언트 소개8.3.1 스트리밍 API 서버와 통합8.4 SQL 쿼리 적용8.5 정리2부 스트리밍 데이터 아키텍처 구현하기9장 실시간으로 Meetup RSVP 분석하기9.1 수집 단계9.1.1 수집 단계 애플리케이션 데이터 흐름9.2 메시지 큐 단계9.2.1 카프카 설정 및 설치9.2.2 수집 단계 애플리케이션과 카프카 연동9.3 분석 단계9.3.1 카프카와 연동하는 스톰 설치9.3.2 상위 N개의 데이터를 추출하는 스톰 토폴로지 작성9.3.3 분석 단계 통합9.4 인메모리 데이터 저장소9.5 데이터 접근 단계9.5.1 상용 환경에 적용하기9.6 정리
실시간 데이터를 완벽히 이해하고 잘 다루고 싶은모든 사람들을 위한 지침서!엄청난 양과 속도로 생성되는 실시간 데이터를 이해하고 처리해야 하는 '빅데이터 시대'가 도래했습니다. 실시간 위치 데이터를 토대로 주변 맛집을 추천하고, 센서 데이터를 통해 기계의 결함을 추적하고, 고객이 매장을 떠나기 전에 디지털 영수증을 발급하는 등의 놀라운 작업들이 실시간으로 이루어집니다. 하지만 실시간 데이터를 처리하려면 스트리밍 파이프라인을 반드시 구축해야 하며, 스트리밍 파이프라인 구축 방법은 기존 동기 방식 데이터 처리와는 다르기 때문에 개발자들에게 많은 혼동을 야기하고 있습니다.이 책은 빠르게 흐르는 스트리밍 데이터를 처리하는 방법을 알려 주는 입문서입니다. 풍부한 그림과 함께 실시간 데이터 처리에 필요한 다양한 개념을 설명하며, 예제 코드와 활용 사례들을 통해 스트리밍 데이터를 분석하고 공유 및 저장하는 애플리케이션을 만드는 방법도 학습합니다. 또한 스트리밍 애플리케이션에서 스파크, 스톰, 아파치 카프카, 플링크, 레빗엠큐 등 다양한 기술의 역할을 소개하고, 기술 종류별로 발생할 수 있는 여러 장애물들과 그에 따른 해결 방안을 알려줍니다. 최종적으로 스트리밍 데이터 아키텍처를 그리는 방법과 세부 구축 방법들도 배우게 됩니다. 이 책을 통해 실시간 데이터 수집, 처리, 저장에 대한 아키텍처를 완벽히 이해하고 현업 실무에 적용해 보세요.〈이 책이 필요한 사람〉ㆍ 데이터 파이프라인을 개발하고 구축해야 하는 데이터 엔지니어 및 백엔드 엔지니어ㆍ 스트리밍 애플리케이션 기반의 엔터프라이즈 아키텍처를 구축하고 싶은 개발자ㆍ 데이터 플랫폼 팀을 이끌고, 데이터 기반 의사결정을 내려야 하는 기업 임원ㆍ 데이터 기반 엔지니어링 및 데이터 플랫폼 아키텍처에 관심 있는 모든 사람