티스토리 뷰
여기서 주문정보전달은 결제의 부가적인 로직이기 때문에 분리 되어야 한다.
주문정보전송은 sendOrderInfo는 대충 목으로 만들어줬다.
1) 주문정보 전송이 늦어지면 결제처리에 대한 프로세스도 함께 지연된다.
2) 데이터 수집 플랫폼으로 주문데이터가 전달 api가 실패했을 떄, 결제가 취소된다.
3) 데이터 수집 플랫폼으로 주문데이터 전달 api가 timeout이 발생했을 떄도 결제가 취소된다.
- 반대로 데이터 수집플랫폼은 실패한 결제임에도 저장이되고, 우리 시스템에서는 결제 실패가 되어 데이터가 맞지 않게된다.
위의 코드는 예이다. 제대로 작동하진 않을 것이다 (aop로 돌아가는 트랜잭션이기에?)
1) 이렇게 트랜잭션을 나눈다면?
- 데이터는 정상적으로 결제에 대한 트랜잭션이 있어 결제만 관리가된다.
- 하지만 sendOrderInfo()가 끝나지 않는한 프로세스는 끝나지 않는다.
이렇게하면 다 나눌 수는 있지만, 데이터 플랫폼에서 오류가 나서 데이터를 재전송 시켜줘야 한다.
-> 이건 다음.. 토요일에 수업해주신다.
로그정도 남기는 것 밖엔,, 아직은..
application event publisher spring으로 검색해보면 됌
'향해99' 카테고리의 다른 글
9주차 발제 (0) | 2024.08.10 |
---|---|
부하를 적절하게 축소하기 - 서비스 분리 feat MSA.. (0) | 2024.08.08 |
콘서트 예약시스템 - Index에 따른 속도 차이와 개선 보고서 (인덱싱 초보의 보고서 입니다. 검색으로 들어오신 분은 정확한 정보가 아닐 수 있으니 주의하세요!) (0) | 2024.08.06 |
챕터 3-3 8주차 부하를 적절하게 축소하기 - 트랜잭션 범위 (0) | 2024.08.06 |
챕터 3-3 8주차 부하를 적절하게 축소하기 - 인덱스 (index) (0) | 2024.08.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 향해플러스백엔드
- 로그인
- 백엔드 개발자 역량
- 스프링부트
- rejectValue
- 항해99
- 리터럴
- filter
- exception
- 스프링공부
- 항해플러스
- 인터셉터
- 컨트
- hypertexttransferprotocol
- JPA
- thymleaf
- Java
- react실행
- 백엔드 개발자 공부
- SpringBoot
- 향해플러스
- jpa api
- React
- 향해99
- reject
- HTTP
- ArgumentResolver
- 예외처리
- BindingResult
- Intercepter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함