모든 블로그
SSG.COM

SSG.COM

도메인medium.com
주요 카테고리 백엔드 · AI · 프론트엔드

활동 요약

대표 인기 포스트제휴 서비스 수집 시스템, 첫 설계부터 지금까지의 여정276 조회
최근 30일
1개
평균 조회
90
누적 조회
4,044
전체 글
45개
마지막 발행
2026. 11. 4.
블로그 방문

SSG.COM 기술 블로그 글 (14)

백엔드

AI를 활용한 테스트 자동화 도전기 2편

공통 모듈과 DTO, ScenarioContext로 중복된 테스트 코드를 개선했습니다. 사용자 행동 시나리오를 조합해 캐시백 정책을 일괄 검증했습니다.

#자동화#test#API
12000

백엔드

돌아오지 않는 메모리를 찾아서

Kubernetes에서 메모리 사용률이 99%까지 오르던 원인을 heap 누수로 의심했지만, JVM committed heap과 로그 파일 page cache가 핵심 원인이었습니다. JVM 옵션 조정과 FILE Appender 제거로 사용률을 크게 낮추고 안정화했습니다.

#Kubernetes#JVM#Java
11300

백엔드

이상적인 구조가 빠른 성능은 아닙니다

기획전 API의 중복 조회와 중첩 저장 구조를 분리해 성능을 개선한 사례를 다뤘습니다. 다만 구조 분리만으로는 충분하지 않아 실제 조회 패턴과 운영 부하까지 함께 고려해야 했습니다.

#MongoDB#성능#query
2500

백엔드

“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일

장보기 지원금 소멸 알림 배치에서 메시지 발송 대기 중 DB 커넥션을 오래 점유해 타임아웃이 발생했습니다. 이를 위해 리소스 사용 구간과 발송 대기 구간을 분리해 배치 안정성을 높였습니다.

#Spring Batch#DB#Transaction
24200

백엔드

Kotlin Coroutine으로 구현한 비동기 제휴 연동 시스템 구축기

Spring Batch 기반 동기 연동의 병목을 Kotlin Coroutine으로 개선한 사례를 소개했습니다. Kafka와 비동기 호출을 결합해 처리 시간과 리소스 효율을 함께 높였습니다.

#Kotlin#Coroutine#Spring Batch
25300

백엔드

제휴 서비스 수집 시스템, 첫 설계부터 지금까지의 여정

제휴 서비스 수집 시스템의 레거시 한계를 개선해 이벤트 기반, CQRS, Zero Payload 구조로 재설계했습니다.실시간 연동과 부하 분산을 통해 속도, 정합성, 운영 효율을 높인 과정을 공유했습니다.

#Kafka#CQRS#Spring Batch
27600

백엔드

SSG 자동화센터 운영시스템에서 분산 락을 사용하는 방법

Redis 분산 락과 스프링 AOP로 입하 확정 처리 API의 동시성 이슈를 해결했습니다. 또한 @Transactional과의 실행 순서 문제와 커넥션 사용 이슈를 @Order로 정리했습니다.

#Spring Boot#Redis#AOP
13600

백엔드

Redis로 분산 락 애노테이션 구현하기 — 스프링 AOP 활용 사례와 주의점

API 개발 중 발생한 동시성 이슈를 해결하기 위해 Redis 분산 락 애노테이션 구현 사례를 다뤘습니다. 스프링 AOP 활용 방식과 주의점을 함께 정리했습니다.

#Redis#AOP#동시성
12200

백엔드

검색엔진에 의존하지 않는 Reranking API 개발하기

ES에 의존하던 LTR 구조를 분리해 rerank API와 model API로 재구성했습니다. gRPC, 응답 압축, 2단계 캐싱으로 성능과 운영 리스크를 함께 개선했습니다.

#검색#Reranking#Learning to Rank
3900

백엔드

암호화 알고리즘의 종류와 원리

암호화의 기본 개념과 종류를 정리하고, 단방향·양방향 방식의 차이를 설명했습니다. 또한 AES와 RSA를 중심으로 실제 동작 원리와 활용 맥락을 자세히 다뤘습니다.

#암호화#해시 함수#SHA-2
8200

백엔드

API 상품 연동 실패율을 줄일 수 있는 방법은?

API 상품 연동 실패 사유를 내부 차단과 제휴사 응답으로 나눠 분석했습니다. 실패 사유를 가이드화한 화면과 자동 재처리로 조치율을 높인 사례를 소개했습니다.

#REST API#API#back-office
3900

백엔드

모든 주문은 SIS로 통한다

다양한 판매 채널의 주문을 한곳에서 통합 관리하는 SIS 시스템을 소개했습니다. 상품 매핑과 WMS 연동으로 주문, 재고, 배송 상태를 연결했습니다.

#API#WMS#재고관리
3400

백엔드

git branch 전략 정답은 없지만…

MSA 전환과 수시 배포 요구에 맞춰 팀 전용 git branch 전략을 설계했습니다. PR과 코드 리뷰를 강제하고 병합 방식을 조정해 배포 흐름과 히스토리를 정리했습니다.

#Git#Kubernetes#MSA
6000

백엔드

주요 charset 소개 및 mybatis typehandler를 통한 한글 다루기

SSG DB와 관계사 DB 간 charset 차이로 한글이 깨지는 문제를 분석하고, 주요 charset 원리를 정리했습니다. MyBatis TypeHandler와 Java 문자열 변환을 활용해 한글이 정상 적재되도록 개선했습니다.

#Java#MyBatis#Oracle DB
2500