7년 이상 Java/Spring 기반 백엔드 시스템을 개발하며, 인증/인가, 비동기 메시징, 대량 데이터 처리, 클라우드 파일 처리, 캐싱 및 성능 개선을 중심으로 운영 가능한 시스템 구조를 고민해왔습니다.
- Java/Spring 기반 백엔드 개발: Spring Boot, Spring Framework, Spring Batch, Spring Security 기반 서비스 개발
- 인증/인가 구조 설계: SAML SSO 인증 이후 내부 권한 처리를 위한 JWT 발급 및 검증 구조 설계
- 비동기 메시징 처리: RabbitMQ, Kafka, ActiveMQ 기반 작업 큐, 발송 큐, 재처리 및 장애 대응 구조 검토
- 대량 데이터 처리: Spring Batch 기반 대량 발송, 대상자 추출, 통계 및 큐 처리 경험
- 성능 개선과 캐싱: Redis 캐싱, TTL/무효화 전략, 커넥션 풀 비교, MySQL 쿼리/인덱스 최적화
- 클라우드 파일 처리: AWS S3, Step Functions, ECS 기반 파일 처리 흐름 구성
- 운영 관점의 시스템 설계: 장애 격리, 재시도, DLQ, 모니터링, 협업 가능한 API 문서화 경험
flowchart LR
User["User / Admin"] --> FE["Frontend"]
FE --> API["Spring Boot API"]
API --> Auth["SAML SSO + JWT Authorization"]
API --> Redis["Redis Cache"]
API --> DB[("MySQL / Oracle")]
API --> Event["Spring Event / Async Handler"]
Event --> Notify["Email / Slack Notification"]
API --> MQ["RabbitMQ / Kafka / ActiveMQ"]
MQ --> Worker["Batch / Message Worker"]
Worker --> DB
API --> S3["AWS S3"]
S3 --> StepFunctions["AWS Step Functions"]
StepFunctions --> FileWorker["File Processing Worker"]
FileWorker --> S3
Worker --> Observability["OpenSearch / ELK / Monitoring"]
API --> Observability
기업용 번역 업무 흐름을 지원하는 번역관리 시스템의 백엔드 개발을 담당했습니다. 고객사와 SaaS 서비스 영역을 분리하고, 인증/인가, 파일 처리, 비동기 작업 처리, 알림 분리 등 운영 흐름 전반을 안정적으로 구성하는 데 집중했습니다.
주요 기여
- SAML SSO 인증 이후 내부 권한 처리를 위한 JWT 발급 구조 설계
- AWS Step Functions 기반 S3 파일 처리 플로우 구성
- 고객사 버킷과 SaaS 서비스 버킷 분리
- RabbitMQ 기반 비동기 작업 처리
- 이메일/Slack 알림을 Spring Event 기반 비동기 처리로 분리
- 동기 알림 처리로 인해 발생하던 지연을 줄이고 주요 저장 로직 응답 시간 개선
- 테스트 기반 API 문서화로 프론트엔드와의 협업 효율 개선
Tech: Java, Spring Boot, RabbitMQ, Redis, AWS S3, AWS Step Functions, AWS ECS, JWT, SAML SSO
대량 발송 솔루션에서 DB 타겟팅, 발송 큐 처리, 대상자 건수 확인, 통계 기능과 관련된 백엔드 기능을 담당했습니다. 대량 데이터를 안정적으로 처리하고 WAS 부하를 줄일 수 있는 구조를 검토했습니다.
주요 기여
- Spring Batch 기반 대량 데이터 처리
- Oracle/MySQL 기반 발송 큐 테이블 처리
- DB 타겟팅 조건 기반 대상자 추출 구조 분석
- 대상자 건수 확인 기능 요구사항 정리 및 설계
- WAS 부하를 줄이기 위한 Batch 분리 구조 검토
- 관리자 화면의 발송 유형, 타겟팅 옵션, 통계 화면 개선 검토
Tech: Java, Spring Framework, Spring Batch, MyBatis, Oracle, MySQL, RabbitMQ
ActiveMQ, RabbitMQ, Kafka 기반 메시징 구조를 경험하고, 대량 발송 처리 구조를 검토했습니다. 메시지 처리량, 장애 대응, 재처리 가능성, 운영 제약을 함께 고려하며 설계를 진행했습니다.
주요 기여
- 도메인별 Kafka Topic/Partition 기반 발송 처리 구조 설계
- Consumer Group, Partition, Listener Concurrency 기반 병렬 처리 검토
- Retry Topic, DLQ, Parking Lot Queue 기반 장애 대응 구조 검토
- Spring Kafka 동적 Listener 등록 방식 검토
- AWS MSK 환경의 운영 제약 고려
Tech: Java, Spring Kafka, Kafka, AWS MSK, ActiveMQ, RabbitMQ
Redis 캐싱, 커넥션 풀 튜닝, 쿼리 최적화를 통해 백엔드 성능 개선을 검토하고 수행했습니다. 단순한 기능 구현보다 운영 중 병목을 줄이고 예측 가능한 응답 성능을 만드는 데 초점을 두었습니다.
주요 기여
- Redis 캐싱을 통한 목록 조회 성능 개선
- TTL 및 캐시 무효화 전략 검토
- DBCP와 HikariCP 성능 비교 테스트 수행
- MySQL EXPLAIN 기반 쿼리/인덱스 최적화 검토
- 대량 데이터 보관 및 콜드스토리지 구조 검토
Tech: Java, Spring Boot, Redis, MySQL, HikariCP, DBCP, k6
- 인증/인가 정책을 서비스 내부 권한 모델과 안정적으로 연결하는 구조
- 메시징 기반 비동기 처리, 재시도, DLQ, 장애 격리 설계
- Spring Batch 기반 대량 데이터 처리와 운영 부하 분산
- Redis 캐싱, 쿼리 최적화, 커넥션 풀 튜닝을 통한 응답 성능 개선
- AWS 기반 파일 처리 파이프라인과 운영 가능한 백엔드 아키텍처



