MSA2 MSA 에서 Service Mesh 란? 마이크로 아키텍처는 시스템을 운영할 때 많은 장점을 갖고 있지만, 반대로 단점도 존재한다. 마이크로 서비스들이 굉장히 많아졌을 때 이를 효과적으로 관리가 필요한데, 서비스를 찾는 디스커버리, 네트워크 트래픽 제어, 장애 전파 방지, 로깅, 보안등의 각 서비스 구성들끼리 유기적으로 잘 동작 하도록 관리 해주는 작업들로 시스템의 런타임 복잡도가 굉장히 높아진다. 지금까지는 많이들 들어본 Spring Cloud 혹은 Netflix OSS 라는 소프트웨어로 일일히 구현 혹은 설정을 해주는 것으로 많이들 해결을 하였지만, 어쩌면 이런 횡단 관심사(Cross Cutting Concerns)들을 구현하고 설정하는것이 핵심 관심사인 도메인 비즈니스를 만들어 나가는 것에 집중을 하지 못하게 되는 경우도 발생 하게 된다... 2020. 5. 19. MSA 분산 트랜잭션 MSA에서 분산 트랜잭션 관련해서 한번 알아보자. 서비스를 만들때 요즘 많이들 MSA 지향하고 기존 모놀리틱 아키텍처에서 MSA 로 전향해 나아가고 있다.MSA로 만들때 가장 힘든것 중에 하나는 분산 트랜잭션 관리이다.기존 모놀리틱 아키텍처에서는 DB의 ACID(Atomicity, Consistency, Isolation, Durability)로 특성을 이용하여 트랜잭션을 보장하지만, MSA는 각 서비스 별로 DB가 있으니까 일관성을 유지해주는 것이 다소 번거롭고 어렵기도 하다. 문제를 정의해보자각 마이크로 서비스를 거쳐 데이터의 일관성을 어떻게 유지해 줄 것인가? 사례) 주문을 생성할때, 고객의 예치금을 차감해야 하고, 배송을 접수해야 한다. - 주문 서비스, 고객 서비스, 배송 서비스로 세개의 마이크.. 2020. 4. 27. 이전 1 다음