Spring/[인프런] Spring Cloud

    Users Microsservice - Login

    Users Microsservice - Login 기능 URI(API Gateway 사용시) URI(API Gateway 미사용시) HTTP Method 사용자 로그인 /user-service/login /login POST 요청을 서버에 보내면 -> header에 토큰과 userId 반환 AuthenticationFilter.java - Spring Security를 이용한 로그인 요청 발생시 작업을 처리해주는 Custom Filter 클래스 attemptAuthentication() : 사용자로부터 전달받은 데이터를 추출해서 토큰에 저장하고 인증처리 successfulAuthentication() : 인증이 되었을때 어떻게 처리해줄지 package com.example.userservice.secur..

    Catalogs, Orders Microservice

    Catalogs, Orders Microservice

    기능 마이크로서비스 URI(API Gateway 사용시) HTTP Method 상품 목록 조회 Catalogs Microservice /catalog-service/catalogs GET 사용자별 상품 주문 Orders Microservice /order-service/{user_id}/orders POST 사용자별 주문 내역 조회 Orders Microservice /order-service/{user_id}/orders GET Catalogs Microservice 프로젝트 생성 Dependencies DevTools, Lombok, Spring Web, Spring Data JPA, Eureka Discovery Client, H2, modelmapper application.yml server: ..

    Users Microservice

    Users Microservice

    Users Microservice 개요 Front-end UI는 가지고 있지 않음 APIs 기능 URI(API Gateway 사용시) URI(API Gateway 미사용시) HTTP Method 사용자 정보 등록 /user-service/users /users POST 전체 사용자 조회 /user-service/users /users GET 사용자 정보, 주문 내역 조회 /user-service/users/{user_id} /users/{user_id} GET 작동 상태 확인 /user-service/users/health_check /users/health_check GET 환영 메시지 /user-service/users/welcome /users/welcome GET Users Microservice..

    E-commerce 어플리케이션

    E-commerce 어플리케이션

    어플리케이션 개요 여기서는 어플리케이션의 비지니스 로직, 도메인 분석에 집중하기 보다는 Spring Cloud와 Spring Boot를 이용해서 마이크로서비스를 만드는 것에 중점을 둔다. 상품 조회 : [사용자 -> CATALOG-SERVICE] 사용자 조회, 주문 확인 : [사용자 -> USER-SERVICE] 상품 주문 : 사용자 -> [ORDER-SERVICE] 상품 수량 업데이트 : [ORDER-SERVICE -> CATALOG-SERVICE] - 여기서는 직접 호출하지 않고메시징 서비스를 사용할 예정(Kafka) 주문 조회 : [USER-SERVICE -> ORDER-SERVICE] - 마이크로 서비스간의 통신 발생 (직접 호출) 어플리케이션 구성 Registry Service(Eureka Se..

    API Gateway Service

    API Gateway Service

    API Gateway Service 사용자가 설정한 라우팅 설정에 따라서 각각 엔드 포인트로 클라이언트를 대신해서 요청하고 응답을 받으면 다시 클라이언트에게 전달을 하는 프록시 역할을 하게 된다. 시스템의 내부 구조는 숨기고 외부 요청에 대해서 적절한 형태로 가공해서 응답할 수 있는 장점이 있다. 클라이언트는 오직 게이트 웨이만 상대하게 된다. 인증 및 권한 부여 서비스 검색 통합 (마이크로 서비스 검색 통합) 응답 캐싱 정책, 회로 차단기 및 QoS 다시 시도 속도 제한 부하 분산 (로드 밸런싱) 로깅, 추적, 상관 관계 헤더, 쿼리 문자열 및 청구 변화 IP 허용 목록에 추가 Netflix Ribbon과 Zuul Netflix Ribbon Spring Cloud에서 MSA간 통신 1. RestTemp..

    Service Discovery

    Service Discovery

    Spring Cloud Netflix Eureka Spring Registry 각 서비스를 Spring Cloud Eureka에 등록 각각의 서비스가 자신의 위치(IP) 정보를 특정 서버에 등록 Registry하는 작업을 말한다. Spring Cloud Eureka client를 사용 Service Discovery Eureka가 해주는 역할을 Service Discovery 라고 함 각각의 서비스의 위치가 등록된 서버에서 특정 작업을 위한 서버의 위치를 파악하는 작업이다. Spring Cloud eureka server을 사용 외부에서 다른 서비스들이 마이크로 서비스들을 검색하기 위해 사용한는 개념 Eureka Service Discovery - 프로젝트 생성 maven 프로젝트 java 11 Depe..

    Microservice와 Spring Cloud 소개

    Microservice와 Spring Cloud 소개

    2010년 이후부터 Resilient/Anti-Fragile, Cloud Native 로 시스템 구축 -> 확장성, 안정성 강화 Anti-Fragile의 핵심 Auto scaling (자동 확장성) Microservices Chaos enineering (변동, 예견된 불확실성, 예견되지 않은 불확실성에 대해서도 안정적인 서비스 제공) Continuous deployments (CI/CD 지속적인 통합/배포) Cloud Native Architecture 확장 가능한 아키텍처 시스템의 수평적 확장에 유연 -> 더 많은 사용자 확장된 서버로 시스템의 부하 분산, 가용성 보장 [스켈업(하드웨어 업그레이드), 스켈 아웃(동일한 하드웨어 갯수 증가] 시스템 또는 서비스 애플리케이션 단위의 패키지 (컨테이너 기반..