전체 글
-
Transactional Outbox 패턴 마이크로 서비스#6스터디 노트 2025. 12. 30. 16:11
마지막 테스트 관련 자료들입니다. 유닛테스트 뿐만 아니라 통합테스트, E2E 테스트, 그리고 K6를 통한 부하테스트까지 정리해두었습니다.자세한 내용은 아래 Github에서 확인 부탁드립니다 =)https://github.com/timulys/outbox-kafka-example.git GitHub - timulys/outbox-kafka-example: Transactional Outbox 패턴 마이크로 서비스Transactional Outbox 패턴 마이크로 서비스. Contribute to timulys/outbox-kafka-example development by creating an account on GitHub.github.com 12. 테스트 전략 (상세 가이드)마이크로서비스 환경에서는 개..
-
Transactional Outbox 패턴 마이크로 서비스#5스터디 노트 2025. 12. 30. 16:08
이번엔 프로젝트를 실행하고 실습하는 방법에 대해 스터디 합니다.코드를 아래 Github에서 내려받아 바로 수행하시면 됩니다.https://github.com/timulys/outbox-kafka-example.git GitHub - timulys/outbox-kafka-example: Transactional Outbox 패턴 마이크로 서비스Transactional Outbox 패턴 마이크로 서비스. Contribute to timulys/outbox-kafka-example development by creating an account on GitHub.github.com 6. 실행/실습 가이드 (로컬)인프라 올리기docker-compose up -d (Kafka/ZooKeeper/MySQL)MySQL..
-
Transactional Outbox 패턴 마이크로 서비스#4스터디 노트 2025. 12. 30. 16:08
다음은 핵심 코드들에 대한 샘플을 자세히 알아봅니다. 주요한 기능을 품고 있는 클래스들은 아래와 같습니다.주문 생성 + Outbox: order-service/.../OrderCommandService.javaOutbox 퍼블리셔: order-service/.../OutboxPublisher.java (다른 서비스도 동일 구조)이벤트 핸들러 + Idempotency: order-service/.../OrderEventHandler.java (각 서비스별 동일 패턴)트랜잭션 매니저 분리: order-service/.../TransactionManagerConfig.javaKafka 설정: order-service/.../KafkaConfig.java결제 규칙/Outbox: payment-service/....
-
Transactional Outbox 패턴 마이크로 서비스#3스터디 노트 2025. 12. 30. 16:07
이번 포스팅에선 왜 이렇게 설계를 했는지, Kafka를 어떻게 설정했는지에 대해 알아봅니다.전체적인 코드는 아래 Github에서 확인 가능합니다 =)https://github.com/timulys/outbox-kafka-example.git GitHub - timulys/outbox-kafka-example: Transactional Outbox 패턴 마이크로 서비스Transactional Outbox 패턴 마이크로 서비스. Contribute to timulys/outbox-kafka-example development by creating an account on GitHub.github.com3. 왜 이렇게 설계했나 / 얻는 효과DB와 이벤트 발행 원자성 보완: 같은 트랜잭션에 Outbox를 넣어 ..
-
Transactional Outbox 패턴 마이크로 서비스#2스터디 노트 2025. 12. 30. 15:54
여기선 전체적인 아케텍쳐의 흐름과 함께 Kafka 구축 방식 및 주요 샘플 코드 예제를 통해 이해도를 높혀봅니다.전체적인 코드는 Github에 공개되어 있습니다.https://github.com/timulys/outbox-kafka-example.git GitHub - timulys/outbox-kafka-example: Transactional Outbox 패턴 마이크로 서비스Transactional Outbox 패턴 마이크로 서비스. Contribute to timulys/outbox-kafka-example development by creating an account on GitHub.github.com2. 아키텍처 흐름2-1. 시퀀스 다이어그램(Happy Path) 클라이언트 → order-se..
-
Transactional Outbox 패턴 마이크로 서비스#1스터디 노트 2025. 12. 30. 15:33
이번 토이 프로젝트에서는 Transactional Outbox 패턴을 적용하여 이벤트 릴레이를 통해 마이크로 서비스 환경에서도 안정적인 서비스를 서빙하기 위한 스터디 프로젝트를 만들어 봤습니다.단일 애플리케이션 환경에서 마이크로 서비스 환경으로 변경되며 발생할 수 있는 이슈들이기에 기록해두면 도움이 될 것 같아 끄적여봅니다.문제 정의부터 구현, 테스트까지 한 번에 정리를 해볼까 합니다.전체적인 코드는 Github에 공개되어 있습니다.https://github.com/timulys/outbox-kafka-example.git0. 배경과 문제 정의단일 애플리케이션·단일 DB: 하나의 ACID 트랜잭션이면 충분.마이크로서비스: 서비스마다 DB·트랜잭션이 따로라 “주문 저장 → 결제 → 재고 차감”을 한 트랜잭..
-
[Spring-Board] 3강: 단일 서비스 구현 - 백엔드 (Board Service)프로젝트 노트 2025. 12. 22. 16:08
📚 학습 목표이 강의를 완료하면 다음과 같은 내용을 이해하고 구현할 수 있습니다:Spring Boot 프로젝트의 구조와 설정을 이해할 수 있습니다JPA Entity를 설계하고 데이터베이스와 매핑할 수 있습니다Repository 패턴을 이해하고 Spring Data JPA를 사용할 수 있습니다Service 계층의 역할과 설계 원칙을 이해할 수 있습니다REST API Controller를 작성하고 요청/응답을 처리할 수 있습니다DTO 패턴을 이해하고 Entity와 DTO를 분리할 수 있습니다전역 예외 처리를 구현할 수 있습니다데이터베이스 연동 및 설정을 이해할 수 있습니다1. Spring Boot 프로젝트 생성1.1 프로젝트 구조 이해Board Service 프로젝트 구조board-service/├── p..
-
[Spring-Board] 2강. 기본적인 개념 이해프로젝트 노트 2025. 12. 22. 01:11
📚 학습 목표이 강의를 완료하면 다음과 같은 내용을 이해할 수 있습니다:웹 애플리케이션의 기본 구조와 동작 원리를 이해할 수 있습니다클라이언트-서버 아키텍처의 개념을 이해할 수 있습니다HTTP 프로토콜과 RESTful API의 개념을 이해할 수 있습니다마이크로서비스 아키텍처의 개념, 장단점, 사용 시나리오를 이해할 수 있습니다Spring Boot와 React의 기본 개념과 특징을 이해할 수 있습니다실제 프로젝트 코드에서 이러한 개념들이 어떻게 적용되는지 이해할 수 있습니다1. 웹 애플리케이션 기본 개념1.1 웹 애플리케이션이란?웹 애플리케이션(Web Application)은 웹 브라우저를 통해 접근할 수 있는 애플리케이션입니다. 전통적인 데스크톱 애플리케이션과 달리, 별도의 설치 없이 브라우저만 있으면..