gRPC 시작에서 운영까지 (도커와 쿠버네티스를 위한 클라우드 네이티브 애플리케이션 구축)

gRPC 시작에서 운영까지 (도커와 쿠버네티스를 위한 클라우드 네이티브 애플리케이션 구축)

$25.64
Description
클라우드 및 마이크로서비스 아키텍처의 출현으로 오늘날 애플리케이션은 프로세스간 통신 기술을 사용해 연결되며, gRPC는 가장 널리 사용되는 효율적인 통신 기술 중 하나이다. 이 책은 gRPC를 처음 시작하는 아키텍트에게 애플리케이션 간 통신 설계를 위한 깊이 있는 이해를 제공한다. 또한 개발자들이 gRPC를 실제 서비스에 적용할 때 필요한 인증과 권한 관리, 확장을 위한 로드 밸런싱 등 다양한 고급 기술도 실제 사례를 중심으로 Go와 Java 언어를 통해 제시한다.
저자

카순인드라시리

마이크로서비스,클라우드네이티브와엔터프라이즈통합아키텍처에서광범위한경험을가진저자이자아키텍트다.WSO21의통합아키텍처책임자이자WSO2엔터프라이즈인터그레이터(EnterpriseIntegrator)의제품관리자이기도하다.『엔터프라이즈환경을위한마이크로서비스』(2020,에이콘)를저술했으며산호세의오라일리소프트웨어아키텍처콘퍼런스(O'ReillySoftwareArchitectureConference)2019,시카고의GOTOCon2019와WSO2콘퍼런스등에서강연을했다.현재캘리포니아산호세에거주하며샌프란시스코베이지역에서가장큰마이크로서비스모임중하나인‘실리콘밸리마이크로서비스,API와통합(SiliconValleyMicroservices,APIsandIntegration)’밋업(meetup)의창립자다.

목차

1장.gRPC소개
__gRPC
____서비스정의
____gRPC서버
____gRPC클라이언트
____클라이언트-서버메시지흐름
__프로세스간통신의역사
____기존RPC
____SOAP
____REST
____gRPC의시작
____왜gRPC인가?
____다른프로토콜과의비교:그래프QL과쓰리프트
__gRPC실사례
____넷플릭스
____etcd
____드롭박스
__요약

2장.gRPC시작
__서비스정의작성
____메시지정의
____서비스정의
__구현
____서비스개발
____gRPC클라이언트개발
__빌드와실행
____Go서버빌드
____Go클라이언트빌드
____Go서버와클라이언트실행
____자바서버빌드
____자바클라이언트빌드
____자바서버와클라이언트실행
__요약

3장.gRPC통신패턴
__단순RPC(단일RPC)
__서버스트리밍RPC
__클라이언트스트리밍RPC
__양방향스트리밍RPC
__마이크로서비스통신을위한gRPC
__요약

4장.gRPC:동작원리
__RPC흐름
__프로토콜버퍼를사용한메시지인코딩
____인코딩기술
__길이-접두사지정메시지프레이밍
__HTTP/2를통한gRPC
____요청메시지
____응답메시지
____gRPC통신패턴에서의메시지흐름이해
__gRPC구현아키텍처
__요약

5장.gRPC:고급기능
__인터셉터
____서버측인터셉터
____클라이언트측인터셉터
__데드라인
__취소처리
__에러처리
__멀티플렉싱
__메타데이터
____메타데이터생성과조회
____메타데이터전송과수신:클라이언트측
____메타데이터전송과수신:서버측
____네임리졸버
__로드밸런싱
____로드밸런서프록시
____클라이언트측로드밸런싱
____압축
__요약

6장.보안적용gRPC
__TLS를사용한gRPC채널인증
____단방향보안연결활성화
____mTLS보안연결활성화
__gRPC호출인증
____베이직인증사용
____OAuth2.0사용
____JWT사용
____구글토큰기반인증사용
__요약

7장.서비스수준gRPC실행
__gRPC애플리케이션테스트
____gRPC서버테스트
____gRPC클라이언트테스트
____부하테스트
____지속통합
__배포
____도커로의배포
____쿠버네티스로의배포
__관찰가능성
____메트릭
____로그
____추적
____디버깅과문제해결
____추가로깅활성화
__요약

8장.gRPC생태계
__gRPC게이트웨이
__gRPC를위한HTTP/JSON트랜스코딩
__gRPC서버리플렉션프로토콜
__gRPC미들웨어
__상태확인프로토콜
__gRPC상태프로브
__다른생태계프로젝트
__요약

출판사 서평

★이책에서다루는내용★

■gRPC의기본사항을이해하고유사한기술과비교하기
■실제사례를통한gRPC통신패턴확인
■gRPC통신프로토콜의내부세부사항
■인터셉터,멀티플렉싱,에러처리등의고급gRPC기능탐색
■통신채널을보호하고사용자를인증하기
■gRPC애플리케이션수명주기에따라테스트,CI/CD통합,도커,쿠버네티스배포

★이책의대상독자★

여러프로세스간통신기술을사용해분산애플리케이션과마이크로서비스를구축하는개발자를위한책이다.개발자가분산된애플리케이션이나마이크로서비스를개발하려면gRPC의기본사항과함께서비스간통신이필요한때와사용하는방법,실제환경에서의모범사례등을배워야한다.아울러마이크로서비스나클라우드네이티브아키텍처를채택하고서비스통신방식을설계하는아키텍트는다른기술과비교해보고,언제사용해야하는지,또는언제사용하지말아야하는지등의지침을제공해야하기때문에많은인사이트를얻을수있다.
이책을읽는개발자와아키텍트는프로세스간통신기술,서비스지향아키텍처(SOA,Service-OrientedArchitecture),마이크로서비스와같은기본적인분산컴퓨팅의기본지식이있다고가정한다.

★이책의구성★

실제적용사례를통해이론적인개념을설명하며,Go언어와자바를사용한코드예제를광범위하게활용해각개념에대한실무경험을제공한다.이책은다음과같이8개의장으로구성됐다.
1장,‘gRPC소개’에서는gRPC기본사항의기초지식을제공하고REST,GraphQL,다른RPC기술과같은유사한프로세스간통신기술스타일을비교한다.
2장,‘gRPC시작’에서는Go언어와자바를사용해완전한gRPC애플리케이션구축의첫번째경험을제공한다.
3장,‘gRPC통신패턴’에서는실제예제를통해gRPC통신패턴을살펴본다.
4장,‘gRPC:동작원리’에서는gRPC내부에관심이있는고급사용자를위한장으로,서버와클라이언트간gRPC통신의모든단계와네트워크상동작방식을설명한다.
5장,‘gRPC:고급기능’에서는인터셉터(interceptors),데드라인(deadlines),메타데이터(metadata)멀티플렉싱(multiplexing),로드밸런싱(loadbalancing)등과같은주요고급기능을설명한다.
6장,‘보안적용gRPC’에서는통신채널을보호하는방법과gRPC애플리케이션에대한사용자인증과접근제어에대한포괄적인이해를제공한다.
7장,‘서비스수준gRPC실행’에서는gRPC애플리케이션의전체개발주기(developmentlifecycle)를살펴본다.gRPC애플리케이션의테스팅,CI/CD와의통합,도커(Docker),쿠버네티스배포와실행,상태확인을알아본다.
8장,‘gRPC생태계’에서는gRPC의유용한지원요소들을설명한다.대부분의프로젝트는gRPC기반의실제애플리케이션을구축할때유용하다.

★옮긴이의말★

클라우드네이티브와마이크로서비스아키텍처의출현과함께도커와같은컨테이너기반시스템구축과운영은급변하는비즈니스와기술변화에빠르게적응하기위한기업에게는필수를넘어기본이됐다.아울러클라우드와마이크로서비스를적극활용하기위한폴리글랏프로그래밍(polyglotprogramming)과다양한서비스간통신기술은핵심기술로부각되고있다.특히다양한언어와시스템과의효율적인통신을위한gRPC는중요한기술로빠르게자리잡았다.
gRPC는구글데이터센터에서수천개의여러서비스를연결하고자만들어져10년이상활용된스터비(Stubby)라는소프트웨어에서시작됐고,2015년오픈소스로공개된이후넷플릭스와같은대형서비스에적극적으로활용되고있으며,여러오픈소스커뮤니티의적극적인지원으로계속발전하고있다.특히현재공식적으로지원되는언어는여러시스템환경과컴파일러를포함하여C/C++,C#,자바,파이썬,루비등의전통적인언어뿐만아니라오브젝티브C,Go,Node.js,다트(Dart),코틀린(Kotlin)등비교적최신언어도포함한다.
이책은gRPC기본적인활용의실제사례를기반으로다양한가이드를제공할뿐만아니라기존통신기술과의비교를통해애플리케이션간통신을설계하는소프트웨어아키텍트에게훌륭한지침을제공한다.또한여러통신패턴과내부동작방식을깊이있게설명해통신기술을포괄적으로이해할수있도록돕고,서비스수준의실제적용시에고려돼야할다양한기술요소를자세하게설명한다.인증과접근통제,서비스확장을위한로드밸런싱등의고급기술을포함하며,개발주기에필요한테스팅,CI/CD통합과다양한모니터링기술도잘제시하고있다.
이책이gRPC통신기술을활용한견고한애플리케이션과마이크로서비스개발에토대가되기를희망한다.