일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jpa
- 생성자 주입
- 재정의
- DDL
- 테스트 코드
- stream
- select_type
- 조합
- StringBuilder
- DI
- 열 속성
- java
- static
- SQL
- 필드 주입
- redis
- cache
- 인덱스
- KEVISS
- lambda
- Spring
- MSA
- hashcode
- AOP
- Exception
- docker
- Test
- equals
- jwt
- VUE
- Today
- Total
목록2025/08 (7)
백엔드 개발자 블로그

문제 상황주문 생성 API에서 로그 저장 중 예외가 발생하면 주문까지 롤백되어 사용자 결제 성공임에도 시스템상 주문이 사라지는 문제가 발생했습니다.기존 코드@Transactional는 default 속성을 사용하고 있습니다. @Servicepublic class OrderService { private final AuditLogService auditLogService; private final OrderRepository orderRepository; // 기본 전파: REQUIRED (상하위가 한 트랜잭션 공유) @Transactional public Long placeOrder(OrderCommand cmd) { Order order = orderReposit..

요즘 OOM 문제를 겪으면서 Heap dump를 통한 GC 분석의 중요성을 알게되었습니다. 다른 사람들은 Heap dump를 어떻게 활용하는지 궁금해서 아래 테크 블로그를 정리해봤습니다.https://helloworld.kurly.com/blog/connection-leak/ 99%가 모른다는 DB Connection 누수 문제DB Connection과 Garbage Collector의 관계를 중심으로 mysql-connector-j 사용 시 발생할 수 있는 메모리 누수를 탐지하고 해결한 경험을 공유합니다.helloworld.kurly.com문제 상황메모리가 부족하여 비정상적으로 종료되었습니다. Old Gen Size : 이상하게 최대 메모리인 2G로 계속 유지되고 있습니다. New Gen Size :..
1. 캐시 히트율이 낮은 데이터는 적용하지 말자 보통 캐시를 적용할 때는 캐시에 데이터가 없으면 DB를 조회하는 전략을 사용한다. 캐시 히트율이 낮은 경우, 아래와 같이 일반 DB보다 처리할 작업이 늘어나니, 오히려 역효과가 난다.일반 DB 조회 : 요청 > DB 조회 > 응답캐시 조회 : 요청 > 캐시 조회 > DB 조회 > 캐시 적재 > 응답2. 한번에 캐시 만료되는 거 조심하자최신 데이터를 반영하기 위해서 정해진 시간에 캐시를 한번에 만료를 시키는 경우가 있다.한번에 만료시키는 시점에 데이터 요청이 몰린다면 DB에 과부하 문제가 발생할 수 있다.지연시간을 줘서 만료 시점을 분산하자.3. Null 처리 DB에서 Null 값을 받으면 캐싱하지 않는다.DB에 없는 값을 반복조회하는 경우 DB에 부하가 발..

일반 은행에서는 자정쯤에 잔액대사(고객 계좌 = 은행 계좌 확인) 작업이 이뤄지기에 24시간 환전 서비스를 제공하지 못합니다. 근데, 토스는 24시간 환전서비스를 무료로 제공하고 있습니다. 어떻게 이를 가능하게 했는지 궁금하여 해당 토스 SLASH24 영상을 보면서 정리해본 글입니다. https://www.youtube.com/watch?v=uWnAVYgCd0k1. 토스뱅크의 기술 전환 배경채널계 + 계정계 채널계는 MSA로 되어있지만, 코어뱅킹이 모놀리식으로 되어있었음 모놀리식의 단점단일 장애 지점 > 장애 전파됨 MSA마다 별도의 DB를 두면?비용 너무 비쌈 (CPU에 비례해서 비용이 첨가됨) 다른 대체제를 찾기 위해 기존에 사용하던 Oracle의 장단점을 분석해봄 이런 단점이 있는데 굳이 Orac..