일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JPA
- HTTP
- heapq
- spring
- 알고리즘
- 최대 힙
- AVL트리
- 이분탐색이란
- 강화학습
- 멀티프로세서
- 연결리스트 종류
- SpringSecurity
- python
- 운영체제
- jpa n+1 문제
- 연결리스트
- 백준 장학금
- 최소힙
- 완전이진트리
- posix
- 스케줄링
- 자료구조
- MSA
- 힙트리
- 엔티티 그래프
- 백준장학금
- Kruskal
- JVM
- 점근적 표기법
- 프로세스
- Today
- Total
목록MSA (5)
KKanging

스프링 클라우드 게이트웨이 소개스프링 클라우드 게이트웨이는 스프링 프레임워크 , 프로젝트 리액터 , 스프링 부트를 기반으로 한 API 게이트웨이 구현체이다.스프링 클라우드 게이트웨이는 다음 기능들을 제공한다.애플리케이션의 모든 서비스 경로를 단일 URL에 매핑한다스프링 클라우드 게이트웨이는 하나의 URL에 제한되지 않고 실제로 여러 경로의 진입점을 정의하고 경로 매핑을 세분화할 수 있다.게이트웨이로 유입되는 요청과 응답을 검사하고 조치를 취할 수 있는 필터를 작성한다이 필터를 사용하면 코드에 정책 시행 지점을 삽입해서 모든 서비스 호출에 다양한 작업을 수행할 수 있다.요청을 실행하거나 처리하기 전에 주어진 조건을 충족하는지 확인할 수 있는 서술자(predicates)를 만든다스프링 클라우드 게이트웨이는 ..

서비스 간의 횡단 관심사마이크로서비스를 운영하다 보면 분산되어 있는 많은 서비스들 간의 공통된 기능을 수행해야 할 수 있다공통기능보안로깅등등이러한 횡단 관심사를 서로 다른 각 서비스에 구현하는 것은 쉽지 않다.이유는 도메인을 개발하느라 이러한 기능 구현을 잊을 수 있고 또는 일관되지 않게 구현하여 혼란을 초래할 수 있다.또한, 모든 서비스가 이러한 관심사를 구현하기 위해 공통 프레임워크를 만들어 의존하게 한다면 강한 의존이 생겨 재컴파일과 재배포 없이 공통 코드 동작 변경이나 추가는 더욱 어려워 진다.서비스 게이트웨이란?이 문제를 해결하기 위해 횡단 관심사를 독립적으로 배치할 수 있고 , 아키텍처의 모든 마이크로서비스 호출에 대한 필터와 라우터 역할을 할 수 있는 서비스로 추상화해야 한다.이러한 추상화된..

Netflix Eureka란Eureka ? Spring Cloud ? 뭔 상관인데?Netflix Eureka 는 Netflix 가 MSA 기반 아키텍처를 위해 개발한 오픈소스인 Netflix OSS 의 종류중 하나이다.그리고 Spring Cloud Discovery는 Eureka 에 대한 AutoConfiguration 와 함께 아주 간단하게 Netflix Eureka 를 이용한 Cloud 환경의 Servic Discovery를 구성할 수 있게 하나.Eureka의 기능 구성Instance 저장소 (메모리)Instance 정보 등록, 검색, 삭제 , 갱신인스턴스 헬스 체크고가용성을 위한 클러스터링핵심 구현체@Singleton public class PeerAwareInstanceRegistryImpl e..

기존 아키텍처의 문제점서비스 디스커버리란분산 아키텍처는 아주 많은 호스트들로 분산되어 있어서 문리적인 호스트 이름과 머신이 위치한 IP주소를 알아야 한다.이 개념은 분산 컴퓨팅 초창기 때부터 존재했고 공식적으로 '서비스 디스커버리' 로 알려져 있다서비스 디스커버리는 애플리케이션이 사용하는 모든 원격 서비스의 주소가 포함된 프로퍼티 파일을 관리하는 것처럼 단순하거나 UDDI 저장소 처럼 정형화 되어 있는 것일 수 있다.UDDI 는 Universal Description Discovery and Integration 의 약자로 중앙에서 웹 서비스를 등록 및 검색을 위한 표준 프로토콜이다.서비스 디스커버리가 마이크로서비스에 중요한 이유수평 확장회복성1. 수평 확장서비스 디스커버리를 사용하면 애플리케이션 팀은 ..

구성(그리고 복잡성) 관리마이크로서비스에서 왜 구성을 외부에서 관리할까마이크로 서비스 인스턴스는 베포 되고 시작할 때 사람의 개입을 최소화 해야한다. 하지만 구성을 같이 배포하거나 직접 배포할 때 수동으로 관리하게 된다면, 애플리케이션 사이에 구성 불일치나 예기치 않은 장애, 확장 문제 대응을 위한 지연 시간 등이 발생할 수 있다.마이크로서비스 구성 관리에 대한 논의분리 :서비스의 물리적 배포에서 서비스 구성 정보를 완전히 분리 해야한다.애플리케이션이 시작중일 때 전달되거나 서비스가 시작할 때 중앙 저장소에서 읽어 들여야 한다.추상화 : 구성 데이터를 직접 읽어오는 코드를 작성하기 보다 REST API 같이 서비스 인터페이스를 통해 읽어 와야한다.중앙 집중화 : 수백개의 서비스가 존재할 수 있기 때문에 ..