[책 리뷰] 스프링으로 하는 마이크로서비스 구축 2장

뿌이·2022년 2월 9일
0

스프링 클라우드

목록 보기
9/32

@SpringBootApplication 어노테이션이 제공하는 기능은 무엇인가?

  • 컴포넌트 검색을 활성화 해 애플리케이션 클래스의 패키지와 모든 하위 패키지에서
    스프링 컴포넌트와 구성 클래스를 검색한다
  • 애플리케이션 클래스 자체를 구성 클래스로 만듦
  • 자동설정을 활성화해 스프링부트가 설정 가능한 JAR 파일을 클래스패스에서 자동으로 찾게함
    ex) 톰캣이 클래스패스에 있는 경우 스프링 부트는 톰캣을 내장형 웹 서버로 자동 구성

스프링 웹 MVC와 스프링 웹플럭스의 주요 차이점

스프링 프레임워크는 새로운 웹 프레임워크인 스프링 웹플럭스로 논블로킹 HTTP 클라이언트와 서비스의 개발을 지원한다.

주요 차이점은
스프링 웹MVC는 리액티브 서비스를 지원하지 않는데 스프링 웹플럭스는 지원한다

스프링 폭스를 사용해 API를 문서화했을 때의 장점

Restful 서비스를 만들고자 api를 개발하는 경우 사용하기 쉽도록 API를 문서화하는 것이 중요하다
스프링폭스는 스프링 프레임워크와는 별개의 오픈소스 프로젝트로, 런타임에 스웨거 기반의 API 문서를 생성한다

이렇게 EXCUTE 버튼을 누르면 API를 실제로 시험해 볼 수 있기 때문에 그냥 문서가 아니다!
스프링 폭스를 사용하면 스프링 프레임워크로 만든 마이크로서비스를 좀 더 쉽게 이해할 수 있다

스프링 데이터의 리포지토리가 제공하는 기능과 가장 단순한 리포지토리 구현

리포지토리는 다양한 유형의 데이터베이스에 데이터를 저장하고 접근하고자 사용한다.

기능

  1. 스프링 데이터가 상황에 따른 구현하는 것을 독자적인 규칙에 맞춰서 생성
  2. 구성을 추가해 규칙을 재정의하거나 보환할 수 있으며, 필요한 경우엔 약간의 자바코드 사용가능

리포지토리 간단 정의

스프링 데이터는 리포지토리를 간단히 정의할 수 있도록 CrudRepository 등의 몇 가지 기본 자바 인터페이스를 제공한다.

스프링 데이터를 사용하면 리포지토리를 간단하게 정의할 수 있다

스프링 클라우드 스트림의 바인더가 제공하는 기능

특정 메시징 시스템과의 통합 기능을 제공
JDBC 드라이버가 특정 데이터베이스를 지원하는 것과 유사함

도커 컴포즈가 제공하는 기능

도커 컴포즈는 YAML 파일을 사용해 관리할 컨테이너를 설정한다.

다음과 같이 간단한 커맨드로 YAML 파일에 정의한 모든 컨테이너를 관리할 수 있다.

  • docker-compose up -d
    모든 컨테이너를 시작한다
    컨테이너를 백그라운드에서 실행하고, 커맨드를 실행한 터미널을 잠그지 않고자 -d 스위치 사용
  • docker-compose down
    모든 컨테이너를 중지하고 제거
  • docker-compose logs -f --tail=0
    모든 컨테이너의 로그 메시지 출력
    커맨드를 종료하지 않고 새 로그 메시지를 기다리게 하고자 -f 스위치를 사용한다.
    이전 로그 메시지는 생략하고 새 로그 메시지만 보고자 --tail=0 스위치를 사용

출처

스프링으로 하는 마이크로서비스 구축(매그너스 라슨,에이콘)

profile
기록이 쌓이면 지식이 된다.

0개의 댓글