MSA 5

[스프링 MSA] MSA_S6 : User Microservice ②

`Spring Cloud로 개발하는 마이크로서비스 애플리케이션 (MSA)` 강의를 듣고 정리한 자료입니다 ✨ UsernamePasswordAuthenticationFilter - 강의에서는 두 가지 메소드 오버라이딩 1. attemptAuthentication - 사용자의 요청 정보가 `RequestLogin`이라는 클래스로 들어온다 - Post 형태로 전달되는 것은 Request 파라미터로 받을 수 없기 때문에 inputStream으로 처리해주면 수작업으로도 데이터 처리가 가능하다 - `new UsernamePasswordAuthenticationToken()` : 이메일과 패스워드를 가지고 2. successfulAuthentication ✨ getAuthenticationManager - 인증 처리..

Spring/MSA 2023.11.29

[스프링 MSA] MSA_S5 : Catalogs and Orders Microservice

`Spring Cloud로 개발하는 마이크로서비스 애플리케이션 (MSA)` 강의를 듣고 정리한 자료입니다 ✨ Gateway 연동 포트 번호 연동 - return 값에 String.format("~ $s", env.getProperty("local.server.port")); - 랜덤 포트로 할당되어진 값을 가져올 수 있다 application.yml - routes: uri: lb://[유레카에 등록되어 있는 이름 값] - lb : 로드밸런싱 작업을 위해 설정함 predicates: #조건식 - Path=/user-service/** - `user-service` 정보가 들어오면 전부 uri (여기서는 `lb://USER-SERVICE)으로 포워딩 시켜달라고 요청 오류 - 8000번 포트인 apigate..

Spring/MSA 2023.11.15

[스프링 MSA] MSA_S4 : Users Microservice (1)

`Spring Cloud로 개발하는 마이크로서비스 애플리케이션 (MSA)` 강의를 듣고 정리한 자료입니다 ✨ Users Microservice 개요 - Front-end 없이 생성 - Business Logic : Spring, SpringBoot -> 신규 회원 등록 -> 회원 로그인 -> 상세 정보 확인 -> 회원 정보 수정/삭제 -> 상품 주문 -> 주문 내역 확인 - Database : H2 - API Gateway 사용 시 엔드포인트 앞에 `/user-service/` 가 붙는다 (Microservice 이름) ✨ Users Microservice 프로젝트 생성 - `@EnableDiscoveryClient` 애노테이션을 붙여야 유레카 서버 등록이 가능하다는 것을 잊지 말자! 랜덤 포트 사용 i..

Spring/MSA 2023.11.08

[스프링 MSA] MSA_S2 : API Gateway Service (1)

`Spring Cloud로 개발하는 마이크로서비스 애플리케이션 (MSA)` 강의를 듣고 정리한 자료입니다 ✨ API Gateway - 사용자가 설정한 라우팅 설정에 따라서 각각 엔드포인트로 요청 및 응답을 하는 프록시(proxy) 역할을 한다 - 일종의 진입로 역할 - 일괄적으로 처리 ✨ 프록시 서버 (proxy server) 정의 - 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다 프록시 vs 프록시 서버 - 프록시 : 서버와 클라이언트 사이에서 중계기로써 대리로 통신을 수행하는 것 (ex: API Gateway) - 프록시 서버 : 서버와 클라이언트 사이에서 중계 기능을 하는 것 - 쉽게 말하면 `프록시 서버`는 컴퓨터 ..

Spring/MSA 2023.10.03

[스프링 MSA] MSA_S0 : Microservice와 Spring Cloud의 소개

`Spring Cloud로 개발하는 마이크로서비스 애플리케이션 (MSA)` 강의를 듣고 정리한 자료입니다 ✨ 소프트웨어 아키텍처 Antifiagile의 네 가지 특징 1. Auto scalling - 자동 확장성을 가짐 (자동 인스턴스 증가) - 사용량이 많아질 때는 서버의 운영 개수를 늘리고, 나머지는 줄이는 방식 2. Microservices - Cloud Native Application의 핵심 - 세분화된 서비스 3. Chaos engineering - 운영 중인 소프트웨어 시스템의 실행 방법 or 규칙 4. Continuous deployments (CI/CD) - 파이프라인으로 연결시켜 둠. - 통합적인 관리와 운영을 위해 사용 ✨ Cloud Native Architecture 확장 가능한 아..

Spring/MSA 2023.09.25