Default
Orca Router 앞에 LiteLLM 한 겹 끼우기 - (게이트웨이, 비용, 폴백)
애플리케이션 코드는 base URL 한 줄만 바꾸고, 키 관리와 비용 집계와 폴백을 게이트웨이로 옮깁니다. LiteLLM을 실제로 띄워 무료 모델의 429, 예산 초과, 포트 충돌까지 직접 부딪히며 정리해 둡니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. litellm-gat...
Orca Router 앞에 LiteLLM 한 겹 끼우기 - (게이트웨이, 비용, 폴백)
SSE, LLM 시대에 다시 보기 - (토큰이 한꺼번에 도착하는 이유)
WebSocket에 밀려 잊혔던 SSE(Server-Sent Events)가 왜 LLM 토큰 스트리밍의 표준이 되었는지, 그리고 실제로 nginx 뒤에 세웠을 때 무엇이 깨지는지 직접 재현하며 정리해 둡니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. spring-sse-sam...
SSE, LLM 시대에 다시 보기 - (토큰이 한꺼번에 도착하는 이유)
Spring Batch 성능 최적화 - (멀티스레드와 파티셔닝)
지금까지 Spring Batch의 개념과 실전 구현을 살펴보았습니다. 이번 글에서는 대용량 데이터를 효율적으로 처리하기 위한 성능 최적화 전략과 실제 운영 환경에서 필요한 노하우를 정리해보겠습니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. spring-batch-sample ...
Spring Batch 성능 최적화 - (멀티스레드와 파티셔닝)
Spring Batch 개념과 환경 설정 - (Job, Step, Chunk 이해하기)
대용량 데이터를 효율적으로 처리하는 Spring Batch를 시작해보겠습니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. spring-batch-sample 시리즈 목차 Spring Batch Reader, Processor, Writer - (핵심 인터페이스 총...
Spring Batch 개념과 환경 설정 - (Job, Step, Chunk 이해하기)
Spring Batch 이메일 발송 배치 - (실전 구현 예제)
Reader, Processor, Writer를 활용한 실무 배치 개발을 다뤄보겠습니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. spring-batch-sample 시리즈 목차 Spring Batch Reader, Processor, Writer - (핵심 인...
Spring Batch 이메일 발송 배치 - (실전 구현 예제)
Spring Batch Reader, Processor, Writer - (핵심 인터페이스 총정리)
Spring Batch에서 가장 핵심적인 컴포넌트는 Reader, Processor, Writer입니다. 이 글에서는 본격적인 Spring Batch 시리즈를 시작하기 전에, 각 인터페이스에서 제공하는 다양한 구현체들을 정리해보겠습니다. Sample Code 이 시리즈에서 다루는 전체 예제 코드는 GitHub에서 확인할 수 있습니다. ...
Spring Batch Reader, Processor, Writer - (핵심 인터페이스 총정리)
JVM DNS Caching And Connection pool - (IP 변경으로 인한 프로덕션 서비스 장애)
운영 중인 서비스에서 IP 변경이 어떻게 장애로 이어질 수 있었는지, 이를 해결하며 얻은 인사이트를 정리해 둡니다. 영문 버전은 Medium에서 확인하실 수 있습니다. 샘플코드는 feign-dns-lookup-test에서 확인하실 수 있습니다. 세미나 PPT는 google-sildes에서 확인하실 수 있습니다. ...
JVM DNS Caching And Connection pool - (IP 변경으로 인한 프로덕션 서비스 장애)
젊은 로재씨의 슬픔 - (The Sorrows of Young Rojae, 우당탕탕 PL 데뷔기)
젊은 로재씨의 슬픔 The Sorrows of Young Rojae: 우당탕탕 PL 데뷔기 이 글은 회고이자 고백이며, 반복되는 프로젝트 담당과 책임을 통해 고민하고, 방황하여, 정리된 지금까지의 나의 태도에 대한 기록이자 주장이다. “프로젝트를 적극적으로 총괄, 리딩을 해본 적 있나요?” 첫 직장에서의 여정은 2020년 7월부터 2...
젊은 로재씨의 슬픔 - (The Sorrows of Young Rojae, 우당탕탕 PL 데뷔기)
(행위 패턴) Chain of Responsibility Pattern - 메시지 발송 전 처리 파이프라인 만들기
Chain of Responsibility Pattern (책임 연쇄 패턴) - 발송 전처리 파이프라인 추가하기 대규모 메시징 시스템을 운영하다 보면, 기획자나 매니저로부터 수많은 요구사항이 들어옵니다. 발송 전에 처리해야 할 조건은 점점 늘어나고 복잡해지네요. 개발자 입장에서는 이를 어떻게 “우아하게” 대응할 것인지 고민하게 됩니다. 요구...
(행위 패턴) Chain of Responsibility Pattern - 메시지 발송 전 처리 파이프라인 만들기
(구조패턴) Template Method Pattern - 후처리 로직의 중복을 제거해보자 (메시징 서비스를 예제로)
템플릿 메서드 패턴 - 후처리 로직의 중복을 제거해보자 이전 글에서는 전략 패턴을 통해, 발송 채널(SMS, EMAIL, KAKAO 등)에 따른 다양한 전략을 런타임에 유연하게 선택하는 구조를 설계해보았습니다. 하지만, 전략 패턴을 활용하다 보면 공통적으로 반복되는 후처리 로직이 생깁니다. 예를 들어 발송 로그 저장, 발송 결과 상태 업데이트, 실...
(구조패턴) Template Method Pattern - 후처리 로직의 중복을 제거해보자 (메시징 서비스를 예제로)