Spring Micro Services(25)
-
Spring Cloud: Netflix Hystrix - 프로젝트설정
Netflix Hystrix 예를 들어 앞선 주문서비스를 보면 사용자가 주문 요청을 하면 주문서비스에서 주문정보를 받고 결제서비스, 상품재고 서비스를 호출하여 결제 및상품의 재고 처리를 하도록 서비스를 분리하였다. 하지만 만약에 결제 서비스에 장애가 발생하는 경우 이에 대한 처리 프로세스가 없었다. 이러한 장애처리를 위해 Netflix의 Hystrix를 통하여 장애 인지 및 FallBack 구현을 통하여 장애에 대한 대응 로직을 처리 할 수 있다. 그리고 Hystrix DashBoard를 통하여서 서비스 상태를 확인 할 수도 있다. 프로젝트설정앞선 예제와 동일하게 메이븐 모듈 프로젝트를 생성한다.아래의 순서대로 프로젝트를 생성한다. discovery-service: Eureka Serverhystrix-..
2020.01.11 -
Spring Cloud: Zuul and Ribbon
Zuul And Ribbon ZuulZuul의 두가지 큰 기능은 Routing 과 Filter 이다. 01.Routing Micro Service는 서비스 단위로 사용자에게 서비스를 제공해준다. 하지만 관리의 측면에서 보면 서비스별로 주소 포트를 일일이 관리하기란 쉬운 일이 아닐것이다. Zuul의 가장 큰 목적은 클라이언트로 부터 모든 요청을 받아 내부 마이크로서비스들에게 요청을 전달하므로 단일 종단점을 갖게한다. [Zuul과 Ribbon을 사용한 주문/배송조회 서비스흐름] 위의 그림을 보고 예를 들어 보도록 하겠다. 사용자가 주문요청 서비스와, 배송조회 서비스를 요청한다고 하면 서버 설정은 주문서비스는 7000번 포트에서 실행되고 있고, 배송서비스는 8000번 포트에서 실행되고 있다. 기존데로 하면 주..
2019.12.01 -
Spring Cloud: Discovery Service with Netflix Eureka - Client
Spring Discovery Service with Netflix Eureka - Client 앞에 예제에서는 Eureka Server 를 만들어 보았다. 이제 실제적인 클라이언트 서비스를 만들어 보도록 하자. 앞에서 이미 필요한 프로젝트는 생성 하였기 때문에 각 서비스 별로 변경 된 부분에 대해서 살펴 보도록 하겠다. 프로젝트 전체 소스는 https://github.com/roopy1210/spring-msa-with-eureka 참고하여 주기 바랍니다. Eureka Client - 주문서비스주문서비스는 사용자가 http://localhost:7000/order URL을 통하여 접속한다. 이제 설정파일, 메인프로그램, Controller 순으로 살펴보도록 하자. 01. application.ymlse..
2019.11.14 -
Spring Cloud: Discovery Service with Netflix Eureka - Server
Spring Discovery Service with Netflix Eureka Eureka Server를 통하여 앞에서 만든 주문서비스를 등록하고 Eureka Client를 이용하여서 API를 호출 하는 방법에 대해 알아보도록 하겠다. 프로젝트 소스는 https://github.com/roopy1210/spring-msa-with-eureka 참고 하여 주시기바랍니다. 프로젝트준비 프로젝트는 앞에서 만든 방법으로 메이븐 모듈 프로젝트를 생성한다. 1. 부모 메이븐 프로젝트 생성 2. Eureka Server 프로젝트 생성 2. 주문서비스 프로젝트 생성 3. 결제서비스 프로젝트 생성 4. 상품서비스 프로젝트 생성 [프로젝트구조] 앞선 RestTemplate 프로젝트와 틀린점은 URL로 호출 하는 것이 아..
2019.11.12 -
RestTemplate 주문서비스 구현
주문서비스 사용자의 입장에서 보면 시스템이 주문서비스,결제서비스,상품서비스로 나누어 져서 처리 된다는 것을 알지도 못하며 알필요도 없을 것이다. 하지만 시스템의 입장에서는 모든 서비스의 정보를 입력 정보로 사용자로부터 전달 받아야 할것이다. 먼저 간단히 주문서비를 위한 시나리오를 만들어 보도록 하겠다. 시나리오 1.사용자는 800원짜리 진라면2개와 2900 짜리 참치 한개를 구매한다. 2.사용자는 결제를 카드결제 4000원 포인트결제 500원으로 해서 총 4500원 결제 처리를 한다. 3.시스템은 주문정보가 정상적으로 처리되면 결제서비스를 호출 하여 결제처리를 한 후 결제 처리를 한다. 4.시스템은 결제처리가 정상적으로 처리되면 상품서비스를 호출 하여 상품의 재고 수량을 수정 한다. 5.시스템은 사용자로..
2019.10.20 -
RestTemplate 프로젝트 설정
RestTemplate 프로젝트설정 메이븐 메인 프로젝트 설정 이클립스 프로젝트 생성에서 Maven Project 를 선택한다. 그림1.New Maven project 그림2. 프로젝트 설정정보 입력하기 프로젝트 설정 후 pom.xml 을 작성한다 4.0.0 com.roopy spring-microservices-with-resttemplate 0.0.1-SNAPSHOT pom spring microservices with resttemplate parenet project org.springframework.boot spring-boot-starter-parent 2.1.2.RELEASE org.springframework.boot spring-boot-starter order-service payme..
2019.10.11