Blog

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

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

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

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

7
백엔드#Spring#배포#멀티테넌시

하나의 코드베이스로 두 개의 서비스를 운영하는 법

우리 결제 시스템은 두 고객사(A, B)에 동시에 서비스한다. 비즈니스 로직은 99% 같지만, 다른 부분이 있다.

6
백엔드#로깅#모니터링#설계

로그 한 줄에 요청과 응답을 다 담았다 — ONELINE 구조화 로깅

Spring Boot 기본 로깅은 이런 식이다.

1
백엔드#모니터링#OpenTelemetry#성능

결제 API가 느린데, 어디가 느린지 모르겠다 — OpenTelemetry 도입기

결제 API 호출 한 번에 내부적으로 일어나는 일이 많다.

7
백엔드#장애격리#설계#외부API

외부 API가 죽으면 결제도 죽어야 할까?

우리 결제 시스템은 블록체인 거래를 할 때마다 외부 SaaS API에 보고해야 한다. 법적 컴플라이언스 요구사항.

백엔드#블록체인#CompletableFuture#성능

CompletableFuture로 블록체인 RPC 호출 5개를 동시에

→ CompletableFuture는 Java에서 비동기 작업을 처리하기 위한 클래스다. 여러 작업을 동시에 시작하고, 각각의 결과를 나중에 합칠 수 있다.

1