윤영
저자:윤영 UniversityofTexasatAustin컴퓨터과학전공학사,석사,UniversityofToronto컴퓨터공학전공박사,PlatformComputing,Telus,IBMT.J. Watson연구소,삼성전자등에서근무경험,現홍익대학교컴퓨터공학과교수,(주)Neouly기술이사,(주)넷코아테크미래기술전략실장 주요연구분야:분산시스템,미들웨어,사이버보안,인공지능응용
1장|분산컴퓨팅이란무엇인가?1.1두장군이야기게임으로풀어보는두장군간의합의문제1.2분산컴퓨팅의정의분산컴퓨팅의주체비동기적인통신환경2장|중계자와2단계커밋프로토콜2.1계좌이체문제분산프로세스간올바른거래의어려움2.2안전성과라이브니스안정성과라이브니스동시충족문제확약과합의의어려움2.32단계커밋프로토콜스트로우맨프로토콜원자적커밋프로토콜안정성보장을위한조치라이브니스보장을위한조치2단계커밋프로토콜수행예시3장|시간동기화문제와논리적시계3.1이중화된데이터베이스문제분산된데이터베이스의병행갱신3.2시간동기화기법크리스티안알고리즘버클리알고리즘네트워크시간프로토콜3.3논리적시계램포트시계이벤트의전체순서3.4램포트시계를활용한비일관성문제해결데이터베이스복제알고리즘분산데이터베이스병행갱신문제해결4장|CAP과FLP정리4.1복제시발생하는네트워크장애비일관성의문제가용성의문제궁극적또는강한일관성일관성과가용성동시충족딜레마4.2합의합의조건4.3FLP정리분산장치들간의동일값결정문제장애발생시결정론적합의알고리즘존재여부4.4무결한프로세스간의합의정족수충족합의직장인회식여부합의예시5장|Paxos5.1전설Paxos섬의고대유물5.2장애유형난이도순장애유형5.3Paxos알고리즘Paxos의안전성과라이브니스Paxos참여프로세스역할Paxos3단계수행과정5.4Paxos역으로파헤치기Paxos특성분석5.5Paxos로단절된두뇌문제해결2PC프로토콜과TC장애두뇌단절문제Paxos에의한리더선정6장|암복호화와디지털서명6.1고전적암호시저암호6.2RSA알고리즘암호화복호화공개키와비밀키6.3디지털서명위변조방지인증기관의필요성7장|비잔틴장애와합의7.1비잔틴장애문제합의과정교란7.2비잔틴장애내성합의알고리즘백업서버복제문제디지털서명활용사전준비단계와준비단계확약단계PBFT알고리즘8장|RAFT8.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/Subscribe13.1Publish/Subscribe패러다임PublisherSubscriber시공간의분리13.2Publish/Subscribe의작동원리관심사매칭콘텐츠기반라우팅13.3Publish/Subscribe의응용ServiceChoreographyESB14장|보안관제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장|GolangRPC와DevOps16.1Golang기초Go의특성Go기본문법16.2RPC로메시지보내기RPC서버RPC클라이언트16.3암호화메시지디지털서명복호화서버디지털서명클라이언트16.4분산시스템구동환경온프레미스클라우드모바일단말16.5DevOps폭포수모델애자일모델CI/CD도커컨테이너젠킨스쿠버네티스DevOps정리도판목록찾아보기
현학적표현보다,일상생활에비유한예시들을곁들여분산컴퓨팅을최대한풀어서해설한책《핵심이론부터프로그래밍실습까지분산컴퓨팅》은눈에보이지는않지만현대IT의기반이되는분산컴퓨팅기술에대해서완전실무적인접근보다는핵심이론의이해를통해서분산컴퓨팅체계를설계하고필요한도구들을잘취사선택할수있는능력을배양하는것을학습목표로한다.특히,컴퓨터공학또는컴퓨터과학전공학부생또는대학원생들대상강의에서이책을활용하는것을염두에두고집필되었으며,백엔드,클라우드컴퓨팅,DevOps등의분야의전문가로서의커리어기반을다지면서도,이론적지식의무장을통한차별성과경쟁력까지갖추길원하는사람들에게도움을줄것이다.Step1간단한예시를통한분산컴퓨팅기법이해Step2예시와함께이해를돕는생각해보는분산컴퓨팅문제구성Step3핵심요약을통한분산컴퓨팅의각문법복습