들어가며 마이크로서비스를 이용하면 개발 효율성이 크게 향상! but, 이점만 보고 적용하는 것은 잘못된 판단 -> 적용 과정에서 무엇을 직면할지, 그리고 어떻게 대비할지를 알아야 한다. 이 책에서 다루는 내용 기초부터 심화까지 스프링부트케이션 설계 & 구현 (2장, 3장) 마이크로서비스 관련 도구와 프레임워크 알아보기 (4장, 5장) 분산 시스템에서 엔...
요구사항 개발하고자 하는 것 : 사용자가 매일 계산 능력을 훈련하는 애플리케이션 사용자 스토리 1 : 온라인에서 무작위로 생성되는 곱셈 문제를 풀고 싶음. 매일 암산으로 두뇌 훈련을 해야 하니까 문제는 너무 쉽지 않아야 함! -> 세부적인 태스크로 나누기 비즈니스 로직을 제공하는 기본적인 서비스 만들기 해당 서비스를 사용할 수 있는 REST API 엔드...
시작하기 다층 아키텍처 : 애플리케이션을 여러 계층으로 나눈 아키텍처 3계층 구조 클라이언트 계층 : 사용자 인터페이스를 제공하는 계층. 보통 프런트엔드라고 부름 애플리케이션 계층 : 비즈니스 로직, 상호작용을 위한 인터페이스, 데이터를 저장하는 인터페이스를 포함하는 계층. 보통 백엔드라고 부름 데이터 저장 계층 : 애플리케이션의 데이터를 보관하는 계층....
작은 일체형 접근법 처음부터 마이크로서비스로 시작하지 말아야 할 이유 설계에 시간이 더 오래 걸리고 일체형보다 더 안 좋아짐 일체형 애플리케이션을 나누기 위한 계획 도메인 컨텍스트를 따라 루트 패키지에서 코드를 분리. 예로 들어 고객 관련 기능(개인, 회사, 주소 등)과 주문 관련 기능(주문 생성, 배송, 관리 등)이 있다고 하자. 그럼 루트 패키지에서 ...
UI를 추출하고 게임화 서비스와 연결하기 곱셈 마이크로서비스의 정적 콘텐츠를 추출하는 이유 상호 의존성 -> 게임화 API를 수정하면 곱셈 서비스도 수정하고 다시 배포해야 하는 문제 유연하게 확장 불가능 [솔루션] 정적 콘텐츠 옮기기 웹서버인 제티 다운로드 (https://www.eclipse.org/jetty/download.php) 루트 폴더에 ui...
소개 마이크로서비스를 구축할 때 단위 테스트, 통합 테스트, 컴포넌트 테스트, 계약 테스트, 엔드투엔드 테스트까지 모두 사용해야 함 큐컴버 사용해보기 기능은 여러 개의 .feature 파일로 구성됨 각 기능 상단에 기능에 대한 설명이 있고, 이 설명은 엔진에 의해 무시되는 부분 기능은 테스트 케이스를 정의하는 여러 시나리오로 구성됨 각 시나리오는 BDD ...