설문 관리 서비스 구현 사례
의료 설문 플랫폼에서 설문 정의와 수집을 담당하는 서비스를 헥사고날 구조와 CQRS로 설계했습니다. Master/Snapshot, Kafka, Outbox 등을 적용해 정합성과 운영 안정성을 확보했습니다.
Java 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
20개 표시
의료 설문 플랫폼에서 설문 정의와 수집을 담당하는 서비스를 헥사고날 구조와 CQRS로 설계했습니다. Master/Snapshot, Kafka, Outbox 등을 적용해 정합성과 운영 안정성을 확보했습니다.
실시간 모니터링에서 계산식 메타데이터 동기화 문제를 다뤘습니다. `putIfAbsent()` 한계를 보완하기 위해 `replace()`로 변경 감지와 이벤트 발행을 개선했습니다.
채널톡 메인 백엔드 서버의 CI 병목을 단계적으로 분해해 개선한 과정을 정리했습니다. 공유 상태 제거, prepare 분리, 동적 큐와 캐시로 실행 시간을 크게 줄였습니다.
AI가 코드를 빠르게 만들수록 CI 병목과 피드백 속도가 더 중요해졌습니다. 채널톡은 공유 상태 제거와 캐시, 동적 큐로 메인 백엔드 CI를 36.6분에서 15분대까지 줄였습니다.
기존 Java/Spring 코드에서 그래프 스키마와 비즈니스 규칙을 추출해 spec.json을 만들고 GraphRAG를 구현하는 방법을 소개했습니다. Neptune Analytics와 Bedrock Knowledge Bases로 관계 기반 질의를 처리하는 흐름을 설명했습니다.

내부 백오피스 검색 지연 문제를 고객 사용 방식 인터뷰로 먼저 확인했습니다. IndexedDAO를 도입해 인덱스 히트를 보장하고 8초 쿼리를 200ms대로 개선했습니다.
biz-crm 대용량 검색 지연 문제를 사용자 인터뷰로 원인부터 재점검했습니다. 범용 필터를 줄이고 IndexedDAO를 도입해 인덱스 기반 조회로 개선했습니다.
수천 개의 API/BATCH 서버 설정을 하나의 체계로 관리하는 방법을 소개했습니다. 오버레이, 템플릿, 선언형 설정과 동적 프로비저닝으로 설정을 진화시킨 사례를 다뤘습니다.

네이버 Logiss의 로그 파이프라인 운영 문제와 개선 과정을 다뤘습니다. Storm Kafka spout 수정과 멀티 토폴로지 도입으로 비용·성능·안정성을 높이려 했습니다.
Amazon Aurora용 Advanced JDBC Wrapper Driver를 소개하며 장애조치와 인증 통합 기능을 설명했습니다. 또한 IAM과 Secrets Manager 연동, 플러그인 기반 설정과 사용 예시를 함께 다뤘습니다.

전시 API 서버의 트래픽 증가와 Scale-in 전환에 맞춰 성능 최적화 과정을 정리했습니다. MongoDB 커넥션, 재시도 정책, 캐시와 조회 로직을 조정해 TPS와 안정성을 함께 높였습니다.

JVM JIT Compiler 웜업의 기본과 기존 API 호출식 웜업의 부작용을 짚고, 라이브러리만 데우는 방식을 소개했습니다. 구현과 검증을 통해 이점과 한계를 함께 정리했습니다.
백엔드팀이 MSA 전환과 기술 고도화를 통해 빠르게 성장하는 서비스를 안정적으로 운영하는 과정을 소개했습니다. 검색 캐시 개선, DB 전환, 실시간 처리 최적화로 확장성과 성능을 함께 높였습니다.

7,000줄 PL/SQL 프로시저에 얽힌 교환·반품 로직을 Java 모듈로 점진 이관한 사례를 소개했습니다. Strangler Pattern과 Fallback, 모니터링 강화로 유지보수성과 확장성을 확보했습니다.

29CM 주문서에 무신사머니를 외부 연동 방식으로 도입하며 안정성과 연속성을 우선해 설계했습니다. 점진적 기능 저하와 서킷 브레이커, 모니터링과 증설 전략으로 운영 안정성을 확보했습니다.

레거시 결제창을 결제 도메인 중심 구조로 재설계한 사례를 다뤘습니다. 기능 추상화와 단계적 전환, 자동 롤백으로 가맹점 영향 없이 개편했습니다.
Amazon Nova Premier와 Strands Agents로 C 코드를 Java/Spring으로 마이그레이션하는 멀티 에이전트 워크플로우를 소개했습니다. 토큰 제한 대응과 반복 검증, DBIO의 MyBatis 전환까지 함께 다뤘습니다.

Tyche 네이티브 음성 엔진을 Java 서비스에 JNI로 연동하는 방법을 정리했습니다. OS/아키텍처별 빌드, 모델 경로, 프레임 처리 일관성 같은 운영 포인트를 함께 다뤘습니다.

리소스 해제용 `use` 구현에서 블록 예외와 정리 예외가 동시에 날 수 있음을 다뤘습니다. 예외를 새로 감싸기보다 우선순위를 정하고 suppressed 예외를 활용하라고 제안했습니다.

여기어때는 파편화된 CI/CD와 Helm Chart를 표준화해 문제를 줄였습니다. 개발자 숙련도와 무관한 동일한 배포 경험을 만들기 위해 입력 방식과 재사용 구조를 개선했습니다.
