Blog

개발하면서 배운 것들을 기록합니다.

백엔드#Spring#필터#트러블슈팅

필터 순서가 데이터를 삼켜버린 날

알림센터에 알림이 안 들어간다는 리포트가 왔다. 푸시는 받은 사용자가 있는데, 알림센터에는 아무것도 없는 사용자가 있다고.

6
백엔드#Spring#스케줄러#다중서버

서버 2대를 운영할 때 스케줄러가 2번 도는 문제

알림 서비스를 2대의 서버로 운영하고 있다. 하나는 Active, 하나는 Standby.

6
백엔드#비동기#Spring#트러블슈팅

@Async + CompletableFuture.runAsync = 이중 비동기의 함정

에러 핸들러가 이상하게 동작했다. FCM 발송 실패 시 텔레그램으로 알림을 보내는 로직인데, 가끔 알림이 안 왔다.

8
백엔드#Spring#AOP#비동기

@Async를 붙였는데 왜 비동기로 안 돌아가지?

블록체인 송금이 완료되면, 보낸 사람과 받는 사람 모두에게 알림을 보내야 한다.

5
백엔드#Spring#AOP#트러블슈팅

Spring @Transactional이 무시되는 순간 — Self-Invocation 함정

대량 푸시 발송 서비스에서 진행률 업데이트가 안 되는 버그가 있었다.

6
백엔드#Spring#HikariCP#트러블슈팅

HikariCP auto-commit:false, 데이터가 조용히 사라지는 날

FCM(Firebase Cloud Messaging, 구글에서 제공하는 모바일 푸시 알림 서비스) 발송 실패한 토큰을 DB에서 비활성 처리하는 기능을 배포했다. 로직은 단순했다.

7