| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- @ComponentScan
- AWS
- DI
- Routing Key
- Dead Letter Queue
- securitycontextholderfilter
- 컨테이너
- JPQL
- mybatis
- 페이징
- 쿠버네티스
- Spring
- Web
- JdbcTemplate
- 지연 로딩
- Spring Data JPA
- JPA
- CORS
- docker
- Spring Container
- @Transactional
- docker compose
- redis
- JWT
- MSA
- 서블릿 컨테이너
- 스프링 부트
- kafka
- dockerhub
- DLQ
- Today
- Total
목록2026/03 (4)
look-forest
기본적인 마이크로서비스 구축프로젝트 아키텍처실무에서 쓸 MSA를 구축하려면 각 Service와 DB를 전부 독립적인 서버에 실행시켜야 한다.하지만 프로젝트의 심플함을 위해 로컬 컴퓨터 한 대에서 포트 번호만 다르게 해서 실행시킬 것이다 DB설계[모놀리식 아키텍처]모놀리식 아키텍처에서는 위 그림과 같이 user_id를 참조한 채로 DB를 설계하게 된다. [마이크로서비스 아키텍처]하지만 마이크로서비스에서는 DB가 독립적으로 분리되어 있기 때문에 user_id를 참조할 수 없다.하지만 특정 게시글이 어떤 사용자의 게시글인지 파악하기 위해 user_id에 대한 정보는 있어야 한다. 따라서 boards 테이블에서 user_id는 FK를 설정하지 않은 채로 컬럼을 생성하면 된다. MSA에서는 DB를 독립적으로 분리..
MSA(Microservice Architecture)란?하나의 큰 애플리케이션을 여러 개의 작고 독립적인 서비스로 나누어 개발하고 배포하는 소프트웨어 개발 아키텍처. 프로젝트 하나에 모든 API(결제 관련 API, 인증 관련 API, 상품 관련 API)를 전부 구현하는 모놀리식 아키텍처 방식과 비교해보자.이에 반해, 마이크로서비스 아키텍처(MSA)는 서비스에 필요한 API들을 하나의 프로젝트가 아닌 여러 개의 프로젝트로 나눠서 구현하는 방식이다. 아래 그림을 보면 결제 관련 API들끼리 모아놓은 프로젝트와, 인증 관련 API들끼리 모아놓은 프로젝트와, 상품 관련 API들끼리 모아놓은 프로젝트를 분리해서 구성했다. 그리고 MSA에서는 독립적으로 분리된 하나의 프로젝트를 서비스(service)라고 부른다...
DB 연동 메시지큐의 트랜잭션 처리 개요 DB 연동 메시지큐의 트랜잭션 처리 실습 Publisher-confirms을 이용한 트랜잭션 처리 트랜잭션 처리의 확장 - TCC의 이해 참고 자료 & 이미지 출처RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
Dead Letter Queue와 Dead Letter ExchangeDLQ (Dead Letter Queue)실패한 메시지가 저장되는 큐. 메시지가 큐에서 제대로 처리 되지 못할 경우 DLQ로 이동됨. DLQ로 이동하는 경우NACK 처리나 거부: basic.reject 혹은 basic.nackTTL 만료Overflow: 큐에 설정된 최대 메시지 갯수를 초과하면 가장 오래된 메시지가 삭제되고 DLQ로 이동DLX (Dead Letter Exchange)실패한 메시지를 어디로 보낼지 라우팅하는 Exchange. DLQ로 바로 보내는 것이 아니라 RabbitMQ는 Exchange를 통해 라우팅한다. 전체 구조Producer ↓ Exchange ↓ OrderQueue ↓ (reje..