# spring cloud

[Reach Rich 개발기] Spring Cloud, Spring Security, JWT를 사용한 API Gateway 인증/인가
Reach Rich 프로젝트에서 Redis Session을 사용한 인증/인가를 구현한 뒤, 이 방법이 정말 효율적일까? 라는 의문이 들었습니다. 각 MS가 모두 Spring Security 의존성을 가져야 한다는 점 결국 Stateless 하지 않아 REST API라 해도 될지? 요즘 아주 핫한 ChatGPT에게도 물어봤습니다. 의문과 별개로 동일한 ...

[MSA구축] Spring Cloud API-Gateway 의 인증인가처리
Spring Cloud API Gateway를 MSA에서 도입하는 이유는 여러 가지가 있다. 먼저, API Gateway는 요청을 중앙 집중화하여 처리함으로써 마이크로서비스 간 통신을 단순화한다. 또한, 라우팅, 로드 밸런싱, 인증 및 인가와 같은 공통 기능을 한 곳에

Catalogs & Orders Microservice
APIs | 기능 | 마이크로서비스 |URI | HTTP Method | | - | - | - | - | |상품 목록 조회 | Catalogs Microservice | /catalog-service/catalogs | GET | | 사용자 별 상품 주문| Orders

Users Microservice (3)
전체 사용자 조회 & 사용자 정보, 주문 내역 조회 기능 전에 만들었던 Api-gateway server를 사용한다. 게이트웨이 서버에 routes 주소를 위와 같이 작성한다. /user-service/** 요청이 들어오면 유레카 서버에서 USER-SERVICE를

Users Microservice (2)
사용자 서비스 첫 번째 기능인 신규 회원 등록이다.사용자가 회원가입 요청 시 RequstBody Json 형태로 값을 보낼 것이다.사용자가 /users로 body값에 회원가입 정보와 함께 요청을 한다.@RequestBody 어노테이션을 사용하여 vo에 값을 넣어준다.M

Users Microservice (1)
사용자(회원)에 관한 기능들을 모아둔 서비스이다.비즈니스 로직은 Spring Boot와 Spring Cloud를 사용할 예정이다.데이터베이스는 내장 데이터베이스인 H2를 사용할 예정이다.신규 회원 등록회원 로그인상세 정보 확인회원 정보 수정/삭제상품 주문주문 내역 확인

간단한 MSA 이커머스 프로젝트 (1)
간단한 이커머스 프로젝트를 진행한다.Spring Cloud와 MSA를 사용할 예정이다.Git Repository : 마이크로서비스 소스 관리 및 프로파일 관리Config Server : Git 저장소에 등록된 프로파일 정보 및 설정 정보Eureka Server : 마이

Spring Cloud + MSA (4)
전에 작성했던 코드들과 설명을 기반으로 로드 밸런서를 간단하게 해볼것이다.사용자가 gateway 도메인으로 요청을 보낸다.ex: localhost:8000/first service/welcomegateway는 discovery service를 해주는 Eureka Ser

Spring Cloud + MSA (3)
Custom Filter 이번엔 커스텀 필터를 만들어 적용함. 전에 했던건 주석 처리하고 커스텀 필터 파일 작성. AbstractGatewayFilterFactory 상속 받고 데이터 타입을 커스텀 필터.config로 함. 생성자 만들어주고 apply 오버라이딩

Spring Cloud + MSA (2)
앞서 작성한 파일을 가지고 진행한다. application.yml 파일에 라우트 정보를 주석 처리 후 자바 코드로 필터를 적용해보자.위 코드는 위에서 주석처리한 것을 자바코드로 나타낸 것이다.필터 설정파일을 하나 생성하고 RouteLocator 빈을 하나 등록한다.매개

Spring Cloud + MSA (1)
MSA구성을 지원하는 Springboot기반 Framework이다.간단한 예제로 사용법을 알아보자.Spring Boot version : 2.7.9Dependency - gatewayspring-cloud-starter-gatewayspring-cloud-starter

Spring cloud 01 - 전체 흐름도
국비지원에서 'MSA를 위한 Full-stack 개발자 양성과정'을 들은 적이 있다.기본 교육과정으로 html, css, js / java와 더 나아가 servlet/jsp, spring boot를 수강할 수 있었다. 그 때에는 MSA에 대한 이해도 너무 낮았고, 이것
Service Discovery
다른 서비스를 호출할때 ip와 port 정보를 가지고 호출하게 된다. 하지만 클라우드 환경에서는 ip와 port 정보가 Auto-scaling 으로 인해 동적으로 바뀌게되어 서비스를 식별할 수 있는 다른 방법을 이용하게 된다.그 방법은 바로..! Service Disc

Microservice와 Spring Cloud
2010년도 이후부터는 Resilient/Anti-Fragile, Cloud Native의 키워드로 볼 수 있다. 시스템이 로컬에서 클라우드로 이전되었고 확장성과 안정성이 더 강화되었으며 지속적인 변경사항이 생겨도 시스템을 안정적 + 탄력적으로 운영이 가능해지게 되었다
MSA OAuth 로그인 이슈 다루기(device_id and device_name are required for private IP)
게이트 웨이를 거쳐서 Google OAuth 인증이 되지 않는다. 대신, 직접 인증 서비스 포트를 호출하면 인증 및 회원 가입이 성공한다.URL1은 게이트 웨이를 경유할 때이며, URL2는 게이트웨이를 경유하지 않고 직접 인증을 시도할 때를 나타낸다.http: