분산 컴퓨팅

핵심 이론부터 프로그래밍 실습까지
$35.98
SKU
9791140706600
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Thu 12/5 - Wed 12/11 (주문일로부 10-14 영업일)

Express Shipping estimated by Mon 12/2 - Wed 12/4 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/01/31
Pages/Weight/Size 183*235*15mm
ISBN 9791140706600
Categories IT 모바일 > 컴퓨터 공학
Description
핵심 이론에서부터 기초 프로그래밍 실습까지
다양하게 알아보는 분산 컴퓨팅 기술!


네트워크 상에서 분산된 컴퓨팅 장치들이 서로 메시지를 주고받으며 특정 목적 일을 수행하는 분산 컴퓨팅을 이해하기 쉽고 재미있게 알아봅니다. 이 책에서는 이해를 돕는 간단한 예시를 통해 분산 컴퓨팅 기법을 풀어 설명하여 이론 과정에 이해를 도와 기초를 탄탄하게 만들어 줍니다. 다양한 소프트웨어 중에서도 여러분만의 분산 시스템을 구축하기 위해 분산 컴퓨팅을 시작해 보세요!
Contents
1장 | 분산 컴퓨팅이란 무엇인가?
1.1 두 장군 이야기
게임으로 풀어보는 두 장군 간의 합의 문제
1.2 분산 컴퓨팅의 정의
분산 컴퓨팅의 주체
비동기적인 통신 환경

2장 | 중계자와 2단계 커밋 프로토콜
2.1 계좌 이체 문제
분산 프로세스 간 올바른 거래의 어려움
2.2 안전성과 라이브니스
안정성과 라이브니스 동시 충족 문제
확약과 합의의 어려움
2.3 2단계 커밋 프로토콜
스트로우맨 프로토콜
원자적 커밋 프로토콜
안정성 보장을 위한 조치
라이브니스 보장을 위한 조치
2단계 커밋 프로토콜 수행 예시

3장 | 시간 동기화 문제와 논리적 시계
3.1 이중화된 데이터베이스 문제
분산된 데이터베이스의 병행 갱신
3.2 시간 동기화 기법
크리스티안 알고리즘
버클리 알고리즘
네트워크 시간 프로토콜
3.3 논리적 시계
램포트 시계
이벤트의 전체 순서
3.4 램포트 시계를 활용한 비일관성 문제 해결
데이터베이스 복제 알고리즘
분산 데이터베이스 병행 갱신 문제 해결

4장 | CAP과 FLP 정리
4.1 복제 시 발생하는 네트워크 장애
비일관성의 문제
가용성의 문제
궁극적 또는 강한 일관성
일관성과 가용성 동시 충족 딜레마
4.2 합의
합의 조건
4.3 FLP 정리
분산 장치들 간의 동일값 결정 문제
장애 발생 시 결정론적 합의 알고리즘 존재 여부
4.4 무결한 프로세스 간의 합의
정족수 충족 합의
직장인 회식 여부 합의 예시

5장 | Paxos
5.1 전설
Paxos 섬의 고대 유물
5.2 장애 유형
난이도 순 장애 유형
5.3 Paxos 알고리즘
Paxos의 안전성과 라이브니스
Paxos 참여 프로세스 역할
Paxos 3단계 수행 과정
5.4 Paxos 역으로 파헤치기
Paxos 특성 분석
5.5 Paxos로 단절된 두뇌 문제 해결
2PC 프로토콜과 TC 장애
두뇌 단절 문제
Paxos에 의한 리더 선정

6장 | 암복호화와 디지털 서명
6.1 고전적 암호
시저 암호
6.2 RSA 알고리즘
암호화
복호화
공개키와 비밀키
6.3 디지털 서명
위변조 방지
인증 기관의 필요성

7장 | 비잔틴 장애와 합의
7.1 비잔틴 장애 문제
합의 과정 교란
7.2 비잔틴 장애 내성 합의 알고리즘
백업 서버 복제 문제
디지털 서명 활용
사전 준비 단계와 준비 단계
확약 단계
PBFT 알고리즘

8장 | RAFT
8.1 로그 복제의 문제
프라이머리 서버 선정 문제
8.2 리더 선정 방법
RAFT 참여자 역할
주기적 하트비트
임기의 개념
선거 과정
RAFT의 안전성과 라이브니스
8.3 로그 관리
로그 구조
리더 지시 실패 예시
안전한 리더 선정
로그 정정 방법

9장 | 블록체인
9.1 이중 지불 사기꾼 잡기 게임
게임 규칙
게임 수행 예시
이중 지불 문제
9.2 블록체인 기반 비트코인
비트코인 구조
비트코인 양도 과정
비트코인 트랜잭션 검증 과정
9.3 블록체인과 가상화폐의 한계
블록체인 응용
저장 공간 활용 한계
탈중앙화 검증 방식의 한계
검증 속도의 문제

10장 | 벡터 시계와 스냅샷 찍기
10.1 단체 메시징 애플리케이션 문제
메시지들의 인과관계 파악 문제
램포트 시계의 한계
10.2 벡터 시계
벡터 시각 갱신
벡터 시각에 따른 이벤트 인과관계
벡터 시계를 활용한 안전한 메시지 열람 방법
10.3 전역 스냅샷
전역 스냅샷의 필요성
올바르지 않은 전역 스냅샷 예시
마커 기반 전역 스냅샷 찍는법
정확한 순서 관계 기록의 보장

11장 | 성능 모델링과 병렬 처리
11.1 큐잉 네트워크 모델
서비스센터 모델
서비스센터 성능 지표
성능 지표 간의 관계
11.2 성능 법칙
가용률의 법칙
리틀의 법칙
강제 플로우의 법칙
11.3 맵리듀스 기반 병렬 처리
웹페이지 검색의 문제
맵리듀스 작동 원리
하둡 생태계

12장 | 분산 데이터베이스
12.1 장애 시 확장성 관리 문제의 고민
단순 해싱의 문제점
데이터 완전 재배치 문제
12.2 일관적 해싱
해시 링
서버별 해시값 담당 범위 배정법
데이터 레코드 배치 방법
일관된 해시의 장점
12.3 분산 해시 테이블
중앙 디렉토리 서비스 관리 문제
Chord 알고리즘
12.4 가상 노드 기법
노드 간 불균형 문제 해결
DHT의 활용

13장 | Publish/Subscribe
13.1 Publish/Subscribe 패러다임
Publisher
Subscriber
시공간의 분리
13.2 Publish/Subscribe의 작동 원리
관심사 매칭
콘텐츠 기반 라우팅
13.3 Publish/Subscribe의 응용
Service Choreography
ESB

14장 | 보안 관제
14.1 목적에 따른 사이버 공격 유형
서비스 장애 공격
기밀 정보 탈취 및 위변조
14.2 공격 패턴 정의
스노트 문법
스노트 규칙 예시
스노트 운영 모드
스노트의 문제점과 한계
ATT&CK 기반 행위분석
킬체인
14.3 데이터 기반 공격 패턴 분석과 탐지 체계
SIEM
연관 분석
인과관계 분석
시계열 분석
그래프 분석
평판 분석
문맥 분석

15장 | 기밀 보호
15.1 영지식 증명
직관적 영지식 증명
Fiat-Shamir 프로토콜
Schnorr 프로토콜
Fiat-Shamir 휴리스틱
15.2 다자간 연산
누가 더 부자인가?
안전 회로 평가
15.3 동형암호
직관적 예시
Paillier 암호화
15.4 기밀 보호 Pub/Sub
콘텐츠 기반 Pub/Sub의 딜레마
재암호화 동형암호의 활용
15.5 분산학습
인공신경망 개념
연합학습
분할학습

16장 | Golang RPC와 DevOps
16.1 Golang 기초
Go의 특성
Go 기본 문법
16.2 RPC로 메시지 보내기
RPC 서버
RPC 클라이언트
16.3 암호화 메시지 디지털 서명
복호화 서버
디지털 서명 클라이언트
16.4 분산 시스템 구동 환경
온프레미스
클라우드
모바일 단말
16.5 DevOps
폭포수 모델
애자일 모델
CI/CD
도커 컨테이너
젠킨스
쿠버네티스
DevOps 정리

도판 목록
찾아보기
Author
윤영
University of Texas at Austin 컴퓨터과학전공 학사, 석사, University of Toronto 컴퓨터공학전공 박사, Platform Computing, Telus, IBM T.J. Watson 연구소, 삼성전자 등에서 근무 경험, 現 홍익대학교 컴퓨터공학과 교수, (주)Neouly 기술이사, (주)넷코아테크 미래기술전략실장
주요 연구분야 : 분산시스템, 미들웨어, 사이버보안, 인공지능 응용
University of Texas at Austin 컴퓨터과학전공 학사, 석사, University of Toronto 컴퓨터공학전공 박사, Platform Computing, Telus, IBM T.J. Watson 연구소, 삼성전자 등에서 근무 경험, 現 홍익대학교 컴퓨터공학과 교수, (주)Neouly 기술이사, (주)넷코아테크 미래기술전략실장
주요 연구분야 : 분산시스템, 미들웨어, 사이버보안, 인공지능 응용