본문 바로가기

분류 전체보기

(16)
Srping.io -> Microservices Microservices with Spring Boot Spring Boot를 사용하여 마이크로 서비스를 작고 빠르게 시작할 수 있는 환경을 제공합니다. Microservice resilience with Spring Cloud 다양한 클라우드 패턴을 활용한 Spring Cloud는 서비스 검색, 로드 밸런싱, 회로 차단, 분산 추적 및 모니터링을 지원할 수 있습니다. API 게이트웨이 역할을 할 수도 있습니다. Build streaming data microservices with Spring Cloud Stream Spring Cloud Stream을 사용하면 어떤 메시징 플랫폼을 선택하든 이벤트를 쉽게 소비하고 생성할 수 있습니다. Spring Cloud Stream은 단 몇 줄의 코드로 마이크로 ..
뜻밖의 통계 어떤 프로그램밍 언어를 사용하는 개발자가 가장 행복할까 ? IT 분야에는 "PHP는 최악의 언어" "또는 "파이썬은 초보자를 위한 것" "과 같은 많은 고정 관념이 있습니다. 과연 그럴까? github과 개발자 설문 조사 데이터를 사용하여 진실을 찾아 보겠습니다. - 데이터 수집 Github는 모든 개발자에게 친숙한 플랫폼입니다. 버전 관리 도구로 사용될뿐만 아니라 리포지토리 및 프로젝트 통계, 사용자 프로필 데이터 및 주석을 수집 할 수도 있습니다. 또한 연령, 성별 및 프로필 사진에 대한 정보에도 액세스 할 수 있습니다. Microsoft Face API는 해당 작업에 적합한 도구입니다. Github는 가장 인기있는 25개의 리포지토리 목록을 제공하고 상위 5명의 기고자를 표시합니다. 내가 사용할 E..
Event Driven MSA MSA Demo with Spring Cloud - 주문 시나리오 주문흐름은 Kafka를 통하여 Order -> (kafka) -> Stock -> (kafka) -> Payment -> (kafka) -> Delivery -> (kafka) -> Order(저장) 으로 진행된다. Event 성격에 따라 Topic을 queuing기반 혹은 publish-subscribe기반으로 정의할 수 있다.
JWT를 이용한 Authentication 시나리오 access token - API 접속용 - 유효시간이 짧을수록 보안 향상 - API Gateway Filter에서 validate 수행 refresh token - access token 발급용 - 유효시간이 길수록 로그인 처리(access token 재발급) 편의성 향상 - 인증서버에서 validate 수행
Spring Cloud (3) ::: Order Order는 shoppingcart, stock, account 서비스를 순서적으로 호출하는 API다. yongs-shoppingcart는 Database가 아닌 인 메모리 솔루션인 Redis를 호출한다. 보통 shopping cart 자체가 어느정도 휘발성 데이터를 관리하므로 Database보다는 성능상 효율적일 것이다. 그 외, yongs-stock과 yongs-accout는 특별한 기능없이 RestTempate으로 호출한다.
Spring Cloud (2) ::: Main Main 어플리케이션은 일반적으로 사이트 첫 화면에 해당하는 기능이다. demo-main-1과 demo-main-2는 로드밸런싱이 되고 있으며, 여기서 주로 이야기 할 것은 Hystrix 기능이다. org.springframework.cloud spring-cloud-starter-netflix-hystrix 물론 앞에서 간략히 설명한 Gateway에서도 Hystrix기능을 포함하고 있지만, 여기서는 Hystrix 실패시 fallback되는 로직을 포함하고 있다. yongs-event 모듈은 Hystrix로 인하여 Circuit Breaker가 오픈되면 fallback 메소드를 호출한다. 따라서 yongs-event가 장애가 발생해도 yongs-user나 yongs-product는 문제없이 정상적으로 동..
Spring Cloud (1) ::: Gateway MSA 아키텍처를 이야기 할때 가장 많이 언급되는 것이 gateway다. 수많은 API를 관리해주는 일종의 출입문으로 로깅, 보안, 모니터링 등 공통 기능을 담당하게 된다. Spring Cloud에서 제공하는 대표적인 gateway 컴포넌트는 Zuul 이다. org.springframework.cloud spring-cloud-starter-netflix-zuul 요즘에는 gradle 기반 Application이 많지만 난 아직도 maven이 익숙하다 보니 ...ㅋ Zuul에는 기본적으로 Ribbon과 Hystrix를 포함하고 있어 클라이언트 기반 로드 밸런싱(Ribbon) 기능과 Circuit Breaker(Hystrix) 기능을 수행한다. 따라서 yongs-gateway뒤에 위치한 API들에 대한 관..
Spring Cloud (0) ::: 아키텍처 Spring 컴포넌트로 구성된 MSA 아키텍처 Template이다. SpringBoot로 개발된 Rest기반 MSA 아키텍처 모델로 화면과 Business 로직은 논외로 한다. 또한, 각 Spring Component에 대한 구체적인 설치 및 설정법은 구글링하여 참고하기 바란다. 여기서는 위 그림에 대한 아키텍처 관점으로 이야기를 풀어나간다. 위 모델은 중소규모 어플리케이션에 적합한 순수 SpringBoot 기반이다. 다음 순서로 설명해본다. 1. gateway 2. main 3. order 마지막으로 버전은 다음과 같다. - Java 1.8 - Spring Boot 2.1.6.RELEASE - Spring Cloud Greenwich.SR2 - Spring Cloud Netflix 2.1.2.RELEASE