proxy
-
기존의 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 -
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 -
@Transactional은 Proxy 방식으로 동작한다 간략하게 어떻게 proxy가 생성되는지 알아보자 @Service @RequiredArgsConstructor public class TestService { public void insertTest(){ // do something } } public class TestServiceProxy{ private final TransactonManager tm = TransactionManager.getInstance(); public void insertTest() { try { tm.begin(); // 트랜잭션 전처리(트랜잭션 시작, autoCommit(false) 등) insertTest(); // 기존 로직 tm.commit(); // 트랜잭션..
[Spring] @Transactional 동작방식 및 주의사항@Transactional은 Proxy 방식으로 동작한다 간략하게 어떻게 proxy가 생성되는지 알아보자 @Service @RequiredArgsConstructor public class TestService { public void insertTest(){ // do something } } public class TestServiceProxy{ private final TransactonManager tm = TransactionManager.getInstance(); public void insertTest() { try { tm.begin(); // 트랜잭션 전처리(트랜잭션 시작, autoCommit(false) 등) insertTest(); // 기존 로직 tm.commit(); // 트랜잭션..
2023.11.21 -
Nginx Nginx는 Web Server의 구축을 도와주는 소프트웨어입니다. Web Server라는 단어가 등장하면 항상 같이 등장해서 비교되는 단어가 있습니다. Web Server VS Web Application Server Web Server는 앞단에서 클라이언트의 요청을 처리하는 역할을 담당하고 Web Application Server는 DB 조회나 다양한 동적인 작업을 담당합니다. Web Server Web Server는 클라이언트가 HTML, CSS 와 같은 정적 데이터를 요청하면 앞단에서 빠르게 제공하고, 동적 데이터가 필요하면 WAS 에 요청을 보내고, WAS 가 처리한 데이터를 클라이언트에 전달합니다. Nginx의 역할에 대해서 알아보도록 하겠습니다. Reverse Proxy clien..
[Nginx] Nginx란Nginx Nginx는 Web Server의 구축을 도와주는 소프트웨어입니다. Web Server라는 단어가 등장하면 항상 같이 등장해서 비교되는 단어가 있습니다. Web Server VS Web Application Server Web Server는 앞단에서 클라이언트의 요청을 처리하는 역할을 담당하고 Web Application Server는 DB 조회나 다양한 동적인 작업을 담당합니다. Web Server Web Server는 클라이언트가 HTML, CSS 와 같은 정적 데이터를 요청하면 앞단에서 빠르게 제공하고, 동적 데이터가 필요하면 WAS 에 요청을 보내고, WAS 가 처리한 데이터를 클라이언트에 전달합니다. Nginx의 역할에 대해서 알아보도록 하겠습니다. Reverse Proxy clien..
2022.10.20