🧨 "스프링 마이크로서비스 코딩 공작소"라는 책을 읽은 바탕으로 정리해보겠다.마이크로서비스 개념은 대규모 모놀리스 애클리케이션을 기술적 또는 조직적으로 확장하는데 직면한 많은 난제에 직접적인 대응으로 작고 느슨하게 결합된 분산 서비스이다. 대규모 애플리케이션 운영시
실습환경🎄 inteliJ, JDK 11, Maven, Spring boot 2.2.3실습에 들어가기 앞서, 기본적인 스프링 부트와 자바로 마이크로서비스를 시작해보겠다.licensing-service는 비용, 라이선스 타입, 라이선스 소유자, 라이선스 계약등 라이선스
마이크로서비스에 도커의 개념을 살펴보고 서비스에 적용해보도록 하자.먼저 도커의 아키택쳐다도커데몬 : 도커 이미지를 생성하고 관리하는 dockerd라는 서버다도커 클라이언트 : 도커 사용자는 클라이언트로 도커와 상호작용한다 도커에 명령이 실행되면 데몬에 명령을 보내는 역
스프링 클라우드 컨피그에 살펴보자.스프링 클라우드 컨피그는 애플리케이션 구성 데이터를 관리한다.장점으로는 아무리 많은 마이크로서비스 인스턴스를 실행하더라도 항상 동일한 구성을 보장할 수 있다.이번 프로젝트에는 컨피그 서버를 구축하고, 라이선스 서비스에는 JPA를 사용하
이번에는 클라우드에서 서비스 디스커버리를 알아보자 이전(챕터 1장) 개념에서 살펴본것과 같이 라우팅 패턴에 속한다.서비스 디스커버리를 사용하면 서비스를 소비하는 클라이언트에서 서버가 배포된 물리적 위치(IP 및 서버 이름)를 추상화 할 수 있다.소비자는 물리적 위치가아
클라이언트 측 회복성 소프트웨어 패턴들은 에러나 성능 저하로 원격 자원이 실패할 때 원격 자원의 클라이언트가 고장나지 않게 보호하는데 중점을 둔다네 가지 클라이언트 회복성 패턴을 살펴보자아래 사진은 마이크로서비스에 대한 서비스 소비자와 마이크로서비스 사이에 어떻게 위치
서비스 게이트웨이는 서비스 클라이언트와 호출되는 서비스 사이에서 중개 역할을 하고, 서비스 게이트웨이가 관리하는 하나의 URL로 통신한다. 또한 서비스 클라이언트 호출에서 보낸 경로를 분해하고 서비스 클라이언트가 호출하려는 서비스를 결정한다.정적 라우팅 : 서비스 게이
OAuth2 OAuth2의 주요 목적은 사용자 요청을 수행하기 위해 여러 서비스를 호출할 때, 요청을 처리하는 모든 서비스에 자격증명을 제시하지 않고도 각 서비스에서 사용자를 인증하는 것이다. OAuth2를 사용하면 그랜트 라는 인증 체계를 통해 REST 기반의 서비
스프링 클라우드 스트림 스프링 클라우드 스트림은 경량 메시지 처리 기능을 마이크로서비스에 쉽게 통합하는 기술이며, 애플리케이션에서 발생하는 비동기 이벤트를 사용하는 지능형 마이크로서비스를 구축할 수 있다. 또한 RabbitMQ와 카프카 같은 메시지 브로커와 마이크로서
마이크로서비스는 본질적으로 분산되어 있기 때문에 문제가 발생한 위치를 디버깅하는 것은 매우 번거로운 작업이다. 분산된 서비스의 특징은 여러 서비스와 물리 머신, 다양한 데이터 저장소에 걸쳐 단일 또는 복수 트랜잭션을 추적한 후 정확히 상황을 종합하려고 노력해야 한다는
빌드/배포 파이프라인 아키택처 마이크로서비스 빌드/배포 파이프라인 구축과 관련된 부분과 단계를 보자. 빌드/배포 프로세스는 네 가지 핵심 패턴을 기반으로 한다. 지속적 통합/지속적 전달 : 애플리케이션 코드가 커밋되고 배포될 때만 빌드하고 테스트하지 않는다. 즉,
빌드/배포 파이프라인 인 액션 O-stock 서비스의 빌드/배포 파이프라인을 구현하는 데 사용할 다양한 기술을 먼저 그림으로 살펴보자 깃허브 : 소스 코드에 대한 소스 제어 저장소다 깃허브를 빌드 프로세스에 통합하는 다양한 웹훅과 강력한 REST 기반 API를 제공
액추에이터는 아주 간단한 방식으로 모니터링 및 관리 도구를 제공하는 라이브러리다.서비스 상태를 확인하는 다양한 모니터링 정보에 액세스할 수 있는 일련의 REST 엔드포인트를 구성하고 노출한다. 즉, 스프링 엑추에이터는 서비스 상태를 이해하고 관리하는 데 용이한 운영용