Spring에서 Transaction Propagation은 접파 옵션을 의미합니다. 전파 옵션이라는 것은 트랜잭션을 시작하거나 기존 트랜잭션에 참여하는 방법에 대해 결정하는 속성값이라고 생각하면 됩니다. 즉 트랜잭션의 흐름을 컨트롤하는 속성값입니다. @Transactional 전파 옵션의 종류 하나씩 차근차근 살펴보겠습니다. 👊 public enum Propagation { REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED), SUPPORTS(TransactionDefinition.PROPAGATION_SUPPORTS), MANDATORY(TransactionDefinition.PROPAGATION_MANDATORY), REQUIRES_NEW(Transacti..
💡상황 ThreadPoolTaskExecutor를 사용하여 이용가능한 Thread의 숫자가 100개였지만 트레픽이 몰려 101개의 요청이 들어온 상황으로 가정하였습니다. ThreadPoolTaskExecutor 설정 setMaxPoolSize는 90으로 설정 setQueueCapacity는 10으로 설정 한번에 받을 수 있는 요청은 100으로 가정 @Configuration @EnableAsync public class AsyncConfig extends AsyncConfigurerSupport { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); execu..
RabbitMQ란? RabbitMQ는 AMQP 프로토콜을 구현한 메세지 브로커입니다. 생산자에게 메시지를 생산하여 소비자에게 전달해주는 서비스로 시스템 간 메시지를 전달해주는 오픈소스 메시지 브로커 소프트웨어입니다. 기본적인 구조 Producer가 Exchange에게 메시지를 발행합니다. Exchange는 Binding 규칙을 사용해 메시지의 복사본을 Queue에 배포합니다. 실제 메시지를 큐에 넣는 대신 메시지에 대한 참조가 Queue에 추가됩니다. 메시지를 전달할 준비가 되면 이 참조를 사용해 클라이언트에게 전송합니다. 메시지가 여러 클라이언트에게 발행될 때 참조만을 저장해서 메모리를 적게 사용합니다. Broker는 subscribe하고 있는 Consumer에게 메시지를 전달하거나 요청시 Queue에..
Blocking VS Non-Blocking 💡 Blocking 자신의 작업을 진행하다가 다른 주체자의 작업이 시작되면 다른 주체자의 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것입니다. Blocking은 자신이 호출한 함수가 완료되기까지를 기다리는 것입니다. 그래서 Blocking 상황에서는 작업의 책임을 누가지고 있냐에 관계 없이 자신이 수행하던 로직은 멈추게되고 오매불망 호출한 함수가 결과를 돌려주기를 기다리게 됩니다. 💡 Non-Blocking 다른 주체자의 작업에 관련없이 자신의 작업을 하는 것입니다. 자신이 호출한 함수에 대하여 기다리지 않고, 작업만 전달한 후 복귀하여 자신의 작업을 수행합니다. 요청한 작업에 대한 결과가 요청과 동시에 준비가 되어있다면 바로 결과를 받을 수도 있지..
- Total
- Today
- Yesterday
- pipe and filter architecture
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot redisson sorted set
- transactional outbox pattern
- spring boot excel download paging
- 서비스 기반 아키텍처
- @ControllerAdvice
- 레이어드 아키텍처란
- polling publisher spring boot
- java ThreadLocal
- transactional outbox pattern spring boot
- 자바 백엔드 개발자 추천 도서
- service based architecture
- spring boot redisson 분산락 구현
- spring boot poi excel download
- spring boot excel download oom
- microkernel architecture
- 람다 표현식
- spring boot redisson destributed lock
- java userThread와 DaemonThread
- redis sorted set
- space based architecture
- spring boot redis 대기열 구현
- redis sorted set으로 대기열 구현
- 트랜잭셔널 아웃박스 패턴 스프링부트
- 공간 기반 아키텍처
- redis 대기열 구현
- pipeline architecture
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot 엑셀 다운로드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |