본문 바로가기

마이크로서비스6

[스프링 부트(SpringBoot) : 고급] API 게이트웨이 및 서비스 메쉬 적용 7. API 게이트웨이 및 서비스 메쉬 적용 마이크로서비스 아키텍처를 구성하는 중요한 구성 요소인 API 게이트웨이와 서비스 메쉬에 대해 내용으로, API 게이트웨이는 클라이언트 요청을 적절한 마이크로서비스로 라우팅하는 역할을 하며, 서비스 메쉬는 서비스 간 통신을 관리합니다. API 게이트웨이와 서비스 메쉬의 개념과 스프링 부트와 함께 사용하는 방법을 학습합니다. 7.1. API 게이트웨이 소개 API 게이트웨이는 마이크로서비스 아키텍처에서 중요한 역할을 하는 컴포넌트로, 클라이언트 요청을 적절한 마이크로서비스로 라우팅합니다. API 게이트웨이의 주요 기능은 다음과 같습니다. 요청 라우팅 : 클라이언트 요청을 해당하는 마이크로서비스로 전달합니다. 인증 및 권한 부여 : 사용자 인증 및 권한 검사를 수행.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 고급] 클라우드 네이티브 애플리케이션 개발 1. 클라우드 네이티브 애플리케이션 개발 클라우드 네이티브 애플리케이션은 클라우드 환경에서 실행되도록 최적화된 애플리케이션입니다. 이러한 애플리케이션은 확장성, 탄력성, 높은 가용성을 갖추고, 클라우드의 장점을 최대한 활용합니다. 스프링 부트는 클라우드 네이티브 애플리케이션 개발을 쉽게 도와주는 프레임워크로, 자동 구성, 내장 웹 서버 등 다양한 기능을 제공합니다. 1.1. 클라우드 네이티브 애플리케이션 소개 클라우드 네이티브 애플리케이션은 클라우드 환경에서의 서비스를 목표로 개발된 애플리케이션입니다. 이러한 애플리케이션은 마이크로서비스 아키텍처, 컨테이너화, 지속적인 통합 및 배포 (CI/CD)와 같은 클라우드 중심의 개념을 적용하여, 확장성, 탄력성 및 높은 가용성을 달성합니다. 클라우드 네이티브 애.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 중급] 중급 실전 예제 10. 중급 실전 예제 여기서는 중급 수준의 웹 애플리케이션, RESTful API를 사용한 모바일 애플리케이션 백엔드, 그리고 마이크로서비스 기반 애플리케이션 개발을 포함한 다양한 실전 예제를 다룹니다. 10.1. 중급 수준의 웹 애플리케이션 중급 수준의 웹 애플리케이션에서는 다음과 같은 기능을 구현해 봅니다. 사용자 인증 및 인가 게시판 기능 파일 업로드 및 다운로드 페이징 처리 예제 코드 @Controller public class BoardController { // 게시판 서비스 @Autowired private BoardService boardService; // 게시판 목록 조회 @GetMapping("/boards") public String getBoardList(Model model, .. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] 마이크로서비스 아키텍처 기초 9. 마이크로서비스 아키텍처 기초 9.1. 마이크로서비스 아키텍처 소개 마이크로서비스 아키텍처는 소프트웨어 시스템을 작고 독립적인 서비스로 분리하여 개발, 배포, 운영하는 방식입니다. 이렇게 분리된 서비스는 각각 독립적인 프로세스에서 실행되며, 각 서비스는 독립적으로 확장이 가능합니다. REST, gRPC 등의 통신 방식을 통해 서로 소통합니다. 이러한 아키텍처의 주요 장점은 서비스 간의 결합도를 낮추고, 확장성과 유지보수성을 높여줍니다. 스프링 부트와 스프링 클라우드를 사용하면 마이크로서비스 아키텍처를 쉽게 구현할 수 있도록 도와줍니다. 9.2. 서비스 디스커버리와 로드 밸런싱 서비스 디스커버리는 마이크로서비스 간의 통신을 위해 서비스를 찾아주는 기능입니다. 일반적으로 서비스 레지스트리라는 중앙 저장소.. 2023. 5. 5.
[스프링 부트(SpringBoot)] 스프링 부트 소개 1. 스프링 부트 소개 1.1. 스프링 부트의 등장 배경 스프링 프레임워크는 많은 개발자들이 선호하는 자바 기반 웹 개발 프레임워크로, 다양한 기능을 제공하지만 설정이 복잡하고 초기 개발 속도가 느릴 수 있다는 단점이 있습니다. 이러한 단점을 해결하고자 스프링 부트가 등장했습니다. 스프링 부트는 스프링 프레임워크의 기능을 그대로 활용하면서, 개발자들이 더 빠르게 애플리케이션을 개발할 수 있게 도와주는 도구입니다. 1.2. 스프링 부트의 철학 스프링 부트의 핵심 철학은 "convention over configuration"으로, 개발자가 직접 설정해야 하는 부분을 최소화하고 스프링 부트가 자동으로 설정해 주는 것을 선호합니다. 이를 통해 개발자는 복잡한 설정 대신 핵심 비즈니스 로직에 집중할 수 있습니다.. 2023. 5. 3.
[자바(JAVA)] 자바와 마이크로서비스 44. 자바와 마이크로서비스 44.1. 마이크로서비스 개요 마이크로서비스는 소프트웨어 개발 방식으로, 큰 어플리케이션을 작은, 독립적이고 서로 협력하는 서비스로 분할하는 것입니다. 이러한 접근 방식은 각 서비스를 독립적으로 개발, 배포, 관리할 수 있어 확장성과 유지 보수가 용이해집니다. 44.2. 마이크로서비스 아키텍처 마이크로서비스 아키텍처는 여러 가지 원칙에 기반합니다. 각 서비스는 작고, 하나의 기능에 집중합니다. 서비스는 독립적으로 배포 가능해야 합니다. 서비스 간 통신은 간단한 API를 사용합니다 (RESTful API, gRPC 등). 44.3. 스프링 부트와 마이크로서비스 스프링 부트는 스프링 기반 애플리케이션을 빠르게 개발하도록 도와주는 프레임워크입니다. 스프링 부트는 마이크로서비스 개발.. 2023. 4. 30.