대규모 세일을 견디는 이커머스 아키텍처 설계 : 트래픽 폭주, 재고 동시성, 데이터 정합성까지
타임세일·블랙프라이데이처럼 트래픽이 몰리는 순간 이커머스 서비스는 어떻게 설계할지 정리한 학습 노트. 재고 동시성 제어와 데이터 정합성(Saga+Outbox) 부분은 실제로 구현하고 오버셀링 테스트까지 통과시켜 검증했습니다.
타임세일·블랙프라이데이처럼 트래픽이 몰리는 순간 이커머스 서비스는 어떻게 설계할지 정리한 학습 노트. 재고 동시성 제어와 데이터 정합성(Saga+Outbox) 부분은 실제로 구현하고 오버셀링 테스트까지 통과시켜 검증했습니다.
Database per Service, Saga 패턴, Service Discovery, Circuit Breaker — 서비스를 쪼갠 뒤에 실제로 부딪히는 문제들을 정리한 학습 노트
실제로 구현한 프로젝트가 아니라, 대규모 트래픽이 몰리는 예매 서비스는 어떻게 설계될지 궁금해서 자료를 찾아보고 정리한 학습 노트입니다.
요구사항 정의 : 사용자가 시스템을 통해 무엇을 얻고자 하는지, 시스템이 어떤 기능을 수행해야 하는지, 그리고 시스템이 어떤 제약 조건 하에서 작동해야 하는지에 대한 명세 목적 : 개발팀이 무엇을 만들지 명확하게 정의하고, 고객과 개발자 간의 이해를 일치시키며, 개발된 제품이 최종적으로 고객의 기대에 부합하는지 검증하는 기준이 됩니다. 종...
애플리케이션 설계 소프트웨어 아키텍처 소프트웨어를 구성하는 요소들간의 관계를 표현하는 시스템의 구조 또는 구조체 기본 원리 모듈화 추상화 단계적 분해 정보은닉 소프트웨어 아키텍처의 설계 과정 설계 목표 설정 시스템 타입 결정 아키텍쳐 패턴 적용 서브시스템 구체화 검토 객체지향(Object-Oriented)...
소프트웨어 설계 소프트웨어 공학의 중요성 대규모 프로젝트 관리 : 복잡한 대규모 소프트웨어 프로젝트를 체계적으로 관리할 수 있다. 품질 보증 : 다양한 단계에서 품질을 관리하고, 테스트를 통해 신뢰 할 수 있는 소프트웨어를 제공한다. 비용 절감 : 프로젝트의 효율적인 자원관리와 재사용 등을 통해 비용을 절감할 수 있다. 소프트웨어 생...
- 상황 - 경과(시도했던 것들) - 원인 - 조치 - 결과 순으로 작성
아웃박스 패턴 프로젝트 (Day 3): 아웃박스 이벤트, Kafka로 발행하기! 안녕하세요! 아웃박스 패턴 프로젝트의 셋째 날입니다. 지난 Day 2에서는 주문 생성과 동시에 아웃박스 테이블에 이벤트 메시지를 원자적으로 기록하는 핵심 로직을 구현했죠. 이제 아웃박스 테이블에 안전하게 저장된 이벤트 메시지들을 실제로 읽어와 Kafka 메시지 큐로 발행...
안녕하세요! 현업에서 결제 모듈을 연동하는 업무를 담당하여 개발하고 있는 중에 기록하고자 하는 포스팅입니다. 현재 프로젝트는 Springboot + Vue.js 기반으로 구성되어 있고 새로운 결제 모듈을 추가 해야되는 상황입니다. 여기서 고민해봐야 될 상황은 결제 인증 후 콜백 응답을 받아 어떻게 처리해야될지가 중요하다고 생각이 듭니다. 다음과...
You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Example 1: Input: n = 2 Output:...