Spring Microservice(101)
-
Microservice security patterns
📌 마이크로서비스 보안 패턴(Microservice Security Patterns)마이크로서비스는 공개된 상태로 운영될 경우 보안 위협에 노출될 가능성이 크므로, 인증(Authentication)과 인가(Authorization)를 적절히 적용해야 합니다.📌 아래 그림에서는 마이크로서비스 보안을 강화하기 위한 3가지 핵심 패턴을 설명합니다.🔹 1. 인증(Authentication)사용자가 요청을 보낼 때, 해당 사용자가 신뢰할 수 있는 사용자임을 확인하는 과정.사용자는 인증 서비스(Authentication Service)를 통해 로그인하고 액세스 토큰(Access Token)을 발급받아야 함.마이크로서비스는 API Gateway를 통해 들어오는 요청이 유효한지 확인해야 함.✅ 대표적인 인증 방식..
2025.02.28 -
Microservice routing patterns
📌 마이크로서비스 라우팅 패턴(Microservice Routing Patterns)마이크로서비스 환경에서는 클라이언트가 특정 마이크로서비스를 어떻게 발견하고 호출할 것인지가 중요한 문제입니다.특히 클라우드 기반 애플리케이션에서는 수백 개의 마이크로서비스 인스턴스가 실행될 수 있기 때문에,서비스의 보안 및 정책 적용을 위해 물리적인 Private IP 주소를 감추고 단일 진입점(Single Entry Point)을 제공해야 합니다.아래 그림에서는 이러한 문제를 해결하는 서비스 디스커버리(Service Discovery)와 서비스 라우팅(Service Routing) 개념을 설명합니다.🔹 1. 서비스 디스커버리(Service Discovery)마이크로서비스가 동적으로 확장 및 축소될 수 있기 때문에, ..
2025.02.28 -
Core microservice development pattern
📌 마이크로서비스 핵심 개발 패턴(Core Microservice Development Pattern)마이크로서비스를 설계할 때 기본적으로 고려해야 할 핵심 요소들이 있습니다. 아래 그림에서 보여주는 것처럼, 마이크로서비스의 기본적인 설계 원칙을 패턴으로 정리하면 다음과 같습니다.🔹 1. 서비스의 적절한 크기(Service Granularity)마이크로서비스를 설계할 때 서비스의 책임 범위를 어디까지 가져갈 것인지가 중요합니다.너무 크면(Coarse-grained)여러 개의 독립적인 비즈니스 도메인이 하나의 서비스에 포함될 가능성이 높음.유지보수 및 변경이 어렵고, 단일 서비스 장애가 전체 시스템에 영향을 미칠 가능성이 큼.너무 작으면(Fine-grained)전체 애플리케이션의 복잡도가 증가함.각 마..
2025.02.28 -
Microservices Patterns
이 블로그에서는 패턴 기반 접근 방식(Patterns-Based Approach)을 활용하여 마이크로서비스 아키텍처를 설계하고 구현하는 방법을 설명합니다.🔹 패턴 기반 접근 방식이란?특정 기술에 종속되지 않고 다양한 기술 스택에서 공통적으로 활용할 수 있는 디자인 패턴을 중심으로 설명합니다.본 블로그에서는 Spring Boot 및 Spring Cloud를 사용하여 패턴을 구현하지만, 개념 자체는 다른 기술 플랫폼에서도 활용 가능합니다.각 패턴은 마이크로서비스 환경에서 자주 발생하는 문제를 해결하는 모범 사례(Best Practices)를 제공합니다.📌 마이크로서비스 패턴 개요본 블로그에서는 아래와 같은 6가지 주요 마이크로서비스 패턴을 다룹니다.코어 개발 패턴 (Core Development Patt..
2025.02.28 -
1.Welcome to the Spring Cloud
Spring을 활용한 마이크로서비스 아키텍처(MSA)에 대한 개념을 이해하려면 먼저 Spring Boot, 그리고 Spring Cloud의 역할을 살펴볼 필요가 있습니다.1. Spring Boot: 마이크로서비스를 위한 경량화된 SpringSpring 개발자들은 시간이 지나면서 대규모 단일(monolithic) 애플리케이션에서 점점 더 작은 서비스 단위로 애플리케이션을 분할하는 방향으로 개발 패러다임이 이동하는 것을 감지했습니다. 이에 대응하기 위해 Spring Boot와 Spring Cloud가 등장하게 되었습니다.1.1 Spring Boot란?Spring Boot는 기존 Spring 프레임워크의 핵심 기능을 유지하면서도, 보다 간결한 설정과 빠른 개발 환경을 제공하기 위해 만들어진 프레임워크입니다. ..
2025.02.28 -
Why use a microservices approach to building applications
소프트웨어 개발자에게 애플리케이션을 컴포넌트 단위로 분해하는 것은 새로운 일이 아닙니다. 일반적으로 백엔드 저장소, 중간 계층 비즈니스 로직, 프론트엔드 사용자 인터페이스(UI)로 구성된 계층형 접근 방식을 사용합니다. 지난 몇 년 동안 변화된 점은 개발자들이 클라우드용 분산 애플리케이션을 구축하고 있다는 것입니다.다음은 변화하는 비즈니스 요구 사항입니다.새로운 지리적 지역의 고객에게 도달하기 위해 대규모로 구축 및 운영되는 서비스.고객 요구에 민첩하게 대응하기 위한 기능 및 역량의 빠른 제공.비용 절감을 위한 향상된 리소스 활용.이러한 비즈니스 요구 사항은 우리가 애플리케이션을 구축하는 방식에 영향을 미치고 있습니다. Monolithic vs. microservices design approach애플리..
2025.02.27