
멀티 스레드 환경에서는 여러 사용자가 동시에 동일한 데이터에 접근하거나 수정할 때 다양한 동시성 문제가 발생할 수 있습니다. 이 프로젝트에서는 자바에서 발생할 수 있는 대표적인 동시성 문제를 정의하고, 이를 해결하기 위한 다양한 동시성 제어 기법을 소개합니다. 또한,

API First Design은 API를 먼저 설계하고 문서화한 후에 구현을 시작하는 접근 방식입니다. 이는 초기 단계에서 API 명세서를 중심으로 모든 이해관계자가 API의 기능, 구조, 동작 방식에 대한 명확한 합의를 이루는 것을 목표로 합니다.기존의 개발 방식에서

클린아키텍쳐에 대한 개념이나 중요성은 많은 블로그를 통해 나와있습니다. 클린 아키텍처를 구현하는 가장 대표적인 모델로 헥사고날 아키텍처를 많이 이야기합니다. 헥사고날 아키텍처의 좋은 장점도 많지만 단점이 더 크다고 생각합니다. 그래서 제가 생각하는 클린 아키텍처의 핵

동시성 제어를 위해 다양한 구현방법이 있습니다. 각 방법은 장단점이 있고 환경에 따라 결과도 달라지게 됩니다.이커머스에서 주문로직을 통해 낙관적락, 비관적락, Redis락의 구현방법, 성능, 부하 등을 비교 분석하였고, 특정 시나리오에서 어떤 방식을 사용하는 것이 가장

e-commerce 비즈니스 로직에서 조회가 오래걸리는 쿼리를 캐싱을 통해 성능을 개선해보고, 적절한 캐싱전략을 사용해보자 하였습니다. 📌 캐시란? 캐시(Cache)는 데이터나 값을 미리 저장해 두었다가 필요할 때 빠르게 제공하기 위한 메모리 공간입니다. 주로 자

📌 MSA란 무엇인가? 마이크로서비스 아키텍처(MSA, Microservices Architecture)는 하나의 큰 애플리케이션을 독립적이고 자율적인 여러 작은 서비스로 분리하여 개발하고 운영하는 아키텍처입니다. 각 마이크로서비스는 특정 비즈니스 기능을 담당하며,

이전 포스팅에서 MSA 도입의 목적과 고려사항들에 대해서 정리해보았습니다. 이번 포스팅에서는 모놀리식 구조에서 MSA 구조로 리팩터링하는 과정에서 격은 트터블 슈팅, 고민 사항들에 대해 정리해 보겠습니다. > ### Github PR 링크 Pull Request[ST