Spring 6

Resilience4j 개요

Resilience4j는 Spring Cloud와 같은 마이크로서비스 환경에서 탄력성(Resilience)을 제공하기 위해 사용되는 라이브러리다. 주로 분산 시스템에서 발생할 수 있는 장애에 대한 대비책을 제공하며 서킷 브레이커(Circuit Breaker), 제한자(Rate Limiter), 재시도(Retry), 벌크헤드(Bulkhead), 시간 초과(TimeLimiter)와 같은 패턴을 지원한다. 주요 특징경량 라이브러리Resilience4j는 함수형 프로그래밍과 Java 8의 람다 표현식에 적합하도록 설계된 경량 라이브러리다.모듈화각 기능(서킷 브레이커, 재시도 등)이 독립적인 모듈로 제공되어 필요에 따라 선택적으로 사용할 수 있다.Spring Boot 통합Spring Boot 환경에서 Spring..

개발이론/Spring 2024.12.21

Spring Cloud Gateway에서 Custom Filter, Global Filter, Logging Filter 예제

Custom Filter개념Custom Filter는 특정한 요구사항을 처리하기 위해 개발자가 직접 정의한 필터이다. 특정 라우트(Route)에만 적용되며 Spring Cloud Gateway의 필터 체인에서 요청 또는 응답을 조작할 수 있다.예제Custom Filter 구현import org.springframework.cloud.gateway.filter.GatewayFilter;import org.springframework.cloud.gateway.filter.GatewayFilterChain;import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;import org.springframework.htt..

개발이론/Spring 2024.11.28

Spring Cloud Config

Spring Cloud Config는 분산 시스템에서 구성 데이터를 중앙에서 관리하고 배포하기 위해 사용하는 Spring 프로젝트이다. 이를 통해 애플리케이션의 설정 정보를 중앙화하고 일관되게 관리할 수 있어 특히, 마이크로서비스 아키텍처에서 유용하게 사용된다. Spring Cloud Config는 클라이언트 애플리케이션들이 공통된 설정 정보에 쉽게 접근할 수 있도록 도와주며 설정 변경이 필요할 때 각 서비스를 수정하지 않고도 실시간으로 반영할 수 있게 한다. 주요 개념Spring Cloud Config Server : 구성 데이터를 저장하고 제공하는 서버이다. 서버는 일반적으로 Git, 파일 시스템, SVN과 같은 외부 저장소에 저장된 설정 파일을 읽어와 클라이언트 애플리케이션에 제공한다.Spring ..

개발이론/Spring 2024.11.12

MVC(Model-View-Controller) 패턴

MVC 패턴의 개념Model (모델)애플리케이션의 핵심 데이터와 비즈니스 로직을 담당한다. 데이터베이스와 상호작용하며 데이터를 가져오고 수정하는 기능을 수행한다. 이를 통해 애플리케이션의 상태를 관리한다.스프링에서 @ModelAttribute나 Entity 클래스를 사용해 모델을 정의한다.View (뷰)사용자가 볼 수 있는 화면이다. HTML, JSP, Thymeleaf 같은 템플릿 엔진을 사용하여 데이터를 사용자에게 시각적으로 제공하는 역할을 한다.모델에서 전달된 데이터를 기반으로 사용자 인터페이스를 렌더링한다. Controller (컨트롤러)사용자의 입력을 받아 적절한 비즈니스 로직을 호출하고 결과를 모델에 반영하며 그 결과를 뷰로 전달하는 역할을 한다.스프링에서는 @Controller나 @RestC..

개발이론/Spring 2024.09.13

DTO, VO, Entity 개념과 차이

VO (Value Object), DTO (Data Transfer Object), 그리고 Entity는 소프트웨어 개발에서 자주 사용되는 개념으로, 각기 다른 역할을 수행한다.  DTO (Data Transfer Object)정의 : DTO는 계층 간 데이터 전송을 위한 객체로, 주로 네트워크를 통한 데이터 전송이나 애플리케이션의 여러 계층 간 데이터 전송에 사용된다. DTO는 로직을 포함하지 않으며, 단순히 데이터를 담고 있는 그릇의 역할을 한다.특징전송 용이성: DTO는 시스템 간 또는 애플리케이션 계층 간에 데이터를 효율적으로 전송하기 위해 설계되어있다.로직 없음: DTO는 데이터를 가지고 있지만, 비즈니스 로직을 포함하지 않는다. 이는 데이터를 직렬화하거나 다른 형태로 변환하는 데 주로 사용된다..

개발이론/Spring 2024.08.17

Spring Cloud Function의 기초 개념

Spring Cloud Function은 서버리스 아키텍처를 지원하는 스프링 기반 프레임워크로, 클라우드 환경에서 함수형 프로그래밍을 손쉽게 구현할 수 있게 도와줍니다. FaaS(Function as a Service) 플랫폼과의 통합을 통해 다양한 클라우드 제공자의 서비스를 이용할 수 있으며, 이벤트 중심의 프로그래밍을 지원하여 복잡한 비즈니스 로직을 간결하게 처리할 수 있습니다. 사용 사례 및 필요성오늘날의 클라우드 컴퓨팅 환경에서는 애플리케이션의 확장성과 비용 효율성을 중요시합니다. Spring Cloud Function은 이러한 요구에 부합하여 코드 재사용성, 유연한 배포, 그리고 클라우드 제공자의 다양한 서비스를 통합할 수 있는 기능을 제공합니다. 따라서 많은 기업들이 서버리스 아키텍처를 도입하..

개발이론/Spring 2024.07.02
반응형