모놀리식 시스템을 마이크로서비스 아키텍처(MSA)로 분리하는 순간, 개발자는 가장 큰 악몽과 마주하게 됩니다. 바로 '데이터 정합성(Data Consistency)' 의 붕괴입니다. 주문 서비스에는 데이터가 들어갔는데, 재고 서비스에서 에러가 발생했다면? 이미 커밋(Commit)된 주문 데이터는 좀비 데이터가 됩니다. 이 글에서는 ACI…
SpringBoot 와 JPA 를 도입한 프로젝트에서 개발자가 겪는 가장 흔한 성능 이슈는 단연코 데이터베이스 I/O 병목이다. 편리함 뒤에 숨겨진 JPA의 동작 방식을 이해하지 못하면, 간단한 조회 로직 하나가 수백 번의 쿼리를 유발하는 재앙을 초래한다. 특히 엔티티 간의 연관관계를 다루는 페치(Fetch) 전략 은 애플리케이션의 응답 …