MSA
-
기존의 Monolithic 방식에서 MSA로 전환되면서 독립성, 확장성과 같은 많은 이점을 얻었다. 하지만, MSA를 적용하며 겪는 단점도 존재한다. 서비스가 분산되어 있어, 서비스 간 통신에 복잡성 증가 장애 추적 및 모니터링에 대한 어려움 Service Discovery : callee 서비스의 논리적, 물리적 위치가 변경되었을 때 caller에서 찾는데 어려움 Circuit breaking : callee 서비스의 문제가 있을 때, caller 서비스에 해당 장애가 전파되지 않도록 하기 위한 추가적인 노력 필요 이러한 단점들을 극복하기 위해서는 MSA 서비스들은 서비스 간 커뮤니케이션을 통제하는 추가적인 로직이 필요하게 된다. 이러한 작업들을 각각의 서비스에 중복으로 넣지 않고 인프라에서 해당 작업..
[MSA] Service Mesh란기존의 Monolithic 방식에서 MSA로 전환되면서 독립성, 확장성과 같은 많은 이점을 얻었다. 하지만, MSA를 적용하며 겪는 단점도 존재한다. 서비스가 분산되어 있어, 서비스 간 통신에 복잡성 증가 장애 추적 및 모니터링에 대한 어려움 Service Discovery : callee 서비스의 논리적, 물리적 위치가 변경되었을 때 caller에서 찾는데 어려움 Circuit breaking : callee 서비스의 문제가 있을 때, caller 서비스에 해당 장애가 전파되지 않도록 하기 위한 추가적인 노력 필요 이러한 단점들을 극복하기 위해서는 MSA 서비스들은 서비스 간 커뮤니케이션을 통제하는 추가적인 로직이 필요하게 된다. 이러한 작업들을 각각의 서비스에 중복으로 넣지 않고 인프라에서 해당 작업..
2024.03.03 -
MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
[MSA] Prometheus Grafana 구성 및 특징MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
2024.02.23 -
grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
[MSA] Prometheus Grafana docker 설치grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
2024.02.18 -
Envoy 주요 용어 Host 논리적인 네트워크 애플리케이션 하나의 물리적인 장비에 여러 개의 호스트가 있을 수 있다 Downstream envoy에 요청을 보내고 응답을 받는 host 보통 요청을 보내는 클라이언트를 뜻함 Upstream envoy로부터 요청을 받아서 응답을 보내는 host 보통 요청을 받아주는 서버를 뜻함 envoy는 listner와 cluster라는 2개의 main part로 이루어져 있다 Listner downstream request를 핸들링하고 lifecycle을 관리 downstream에서 연결할 수 있는 네트워크 위치(포트, 유닉스 도메인 소켓)를 의미 envoy는 downstream에서 연결할 수 있는 listner를 하나 이상 제공 Cluster endpoint에 대..
[MSA] Envoy 구조 및 주요 용어 정리Envoy 주요 용어 Host 논리적인 네트워크 애플리케이션 하나의 물리적인 장비에 여러 개의 호스트가 있을 수 있다 Downstream envoy에 요청을 보내고 응답을 받는 host 보통 요청을 보내는 클라이언트를 뜻함 Upstream envoy로부터 요청을 받아서 응답을 보내는 host 보통 요청을 받아주는 서버를 뜻함 envoy는 listner와 cluster라는 2개의 main part로 이루어져 있다 Listner downstream request를 핸들링하고 lifecycle을 관리 downstream에서 연결할 수 있는 네트워크 위치(포트, 유닉스 도메인 소켓)를 의미 envoy는 downstream에서 연결할 수 있는 listner를 하나 이상 제공 Cluster endpoint에 대..
2024.02.10 -
service mesh를 사용한다면, service에 sidecar proxy가 필요하다. 보통은 해당 요소를 envoy를 사용한다. sidecar proxy의 동작을 알기 위해서는 envoy에 대해서 알아야 할 거 같다. 개념 및 특징부터 차근차근 알아가 보자. envoy란? MSA 환경에서 Service를 위해 설계된 고성능 분산 c++프록시 큰 규모의 현대 MSA을 위한 L7(application layer) proxy이자 communication bus Service Mesh 환경에 초점을 맞추고 있다 여러 Service Mesh tool에서 envoy를 dataplane을 위한 sidecar로 채택하고 있다 주요 특징 HTTP, TCP, gRPC 프로토콜 지원 TLS client certific..
[MSA] Envoy란(proxy)(개념,특징)service mesh를 사용한다면, service에 sidecar proxy가 필요하다. 보통은 해당 요소를 envoy를 사용한다. sidecar proxy의 동작을 알기 위해서는 envoy에 대해서 알아야 할 거 같다. 개념 및 특징부터 차근차근 알아가 보자. envoy란? MSA 환경에서 Service를 위해 설계된 고성능 분산 c++프록시 큰 규모의 현대 MSA을 위한 L7(application layer) proxy이자 communication bus Service Mesh 환경에 초점을 맞추고 있다 여러 Service Mesh tool에서 envoy를 dataplane을 위한 sidecar로 채택하고 있다 주요 특징 HTTP, TCP, gRPC 프로토콜 지원 TLS client certific..
2024.02.03