▣ 01장: 마이크로서비스의 시대
마이크로서비스 소개
Node.js 소개
__모듈
__화살표 함수
__클래스
__Promise와 async/await
__전개와 rest 구문
__함수 기본 매개변수
__구조 분해
__템플릿 리터럴
Node.js 사용의 장점
__Node.js 패키지 매니저
__비동기 I/O
__커뮤니티
일체형과 마이크로서비스
마이크로서비스의 패턴
__분해 가능
__독자적
__확장 가능
__통신 가능
마이크로서비스의 단점
요약
▣ 02장: 모듈과 도구 키트
익스프레스(Express
마이크로(Micro
세네카(Seneca
히드라(Hydra
요약
▣ 03장: 마이크로서비스 구축
익스프레스 사용
__이미지 업로드
__폴더에 이미지가 있는지 확인
__이미지 다운로드
__경로 매개변수 사용
__썸네일 생성
__색을 이용한 간단한 작업
__경로 리팩터링
__이미지 조작
히드라 사용
세네카 사용
__플러그인
요약
▣ 04장: 상태와 보안
상태
__상태 저장
__MySQL
__RethinkDB
__레디스(Redis
__결론
보안
요약
▣ 05장: 테스트
테스트 방법론의 유형
프레임워크 사용
테스트 통합
__chai 사용
__코드 커버리지 추가
__모든 코드 커버
서비스 모의 객체 만들기
요약
▣ 06장: 마이크로서비스 배포
가상 머신 사용
컨테이너 사용
도커를 사용
마이크로서비스의 개념을 이해하는 동시에 Node 10을 이용해 익스프레스로 개발, 도커로 배포하고 스웜과 쿠버네티스로 확장하는 방법을 배운다!
마이크로서비스는 함께 작동하지만 개별적으로 개발할 수 있는 작은 조각으로 소프트웨어를 개발하게 해준다. 이것이 여러 기업에서 마이크로서비스를 도입하는 주요한 이유다. 최근 몇 년간 Node.js는 애플리케이션의 생산성과 성능을 향상시키는 능력 덕분에 마이크로서비스 개발에 있어 유력한 후보로 등장했다.
《실전! Node.js 마이크로서비스 개발》은 모놀리식 애플리케이션을 분해하고 마이크로서비스 아키텍처를 도입하는 방법에 관한 완전한 안내서로서, 서비스 설계부터 모델링, 애플리케이션으로의 통합까지 전 과정을 보여준다. 마이크로서비스를 개발하고 배포하는 도구로는 도커를 이용한다. 애플리케이션에 기능을 추가할 때는 확장성을 중요하게 고려해야 하는데, 그래서 도커 스웜 및 쿠버네티스와 같이 마이크로서비스를 확장하기 위한 다양한 솔루션도 알아본다. 이러한 서비스를 확장하면서 동시에 테스트하고 배포하는 일은 상당히 어려울 수 있으며, 이 어려움을 극복하기 위해 애플리케이션 구축 프로세스를 여러 단계로 분할하는 배포 파이프라인을 설정한다. 그다음, 마이크로서비스를 위한 무서버 아키텍처와 기존 아키텍처에 비해 그것이 가진 장점을 살펴본다. 마지막으로 효율적인 마이크로서비스를 개발하기 위한 모범사례와 여러 디자인 패턴을 소개한다.
★ 이 책에서 다루는 내용 ★
◎ 마이크로서비스의 개념
◎ 히드라 및 세네카와 같은 여러 가지 서비스 아키텍처
◎ 컨테이너를 사용하는 방법과 테스트 프로세스의 이해
◎ 도커와 스웜을 사용한 지속적인 배포 및 확장
◎ 마이크로서비스를 지역적으로 분산하는 방법
◎ 클라우드 네이티브 마이크로서비스를 온라인 공급자에 배포
◎ 마이크로서비스를 온라인 공급자로부터 독립적으로 유