카
카카오페이
February 11, 20251회
피처 플래그 개발기: 실시간 데이터 동기화를 향한 여정
간단 소개
피처 플래그 개발 중 데이터 동기화 문제 해결 과정을 Redis Pub/Sub과 Polling을 통해 설명하고, 트레이드오프 관점에서 기술 선택의 중요성을 강조한다.
AI Summary
- 피처 플래그 개발 배경 및 요구사항
- 피처 플래그는 런타임에 기능 ON/OFF, 배포 비율 조정, 유저 타겟팅 등을 가능하게 한다.
- 어드민 서버와 서빙 서버로 분리하여 관리 및 사용자 응답 처리.
- 데이터 동기화 문제 해결
- 어드민 서버 직접 호출, Polling + 로컬 캐시 방식의 단점을 극복하기 위해 메시지 브로커 도입.
- Redis Pub/Sub을 선택하여 서버 간 의존성을 제거하고 변경 사항을 실시간으로 통지.
- Redis Pub/Sub의 한계를 보완하기 위해 Polling을 백업 플랜으로 도입.
- TickerChannel 활용 및 결론
- TickerChannel을 사용하여 주기적인 Polling을 구현, Redis 의존성 문제 해결.
- 모든 선택에는 트레이드오프가 따르며, 서비스 특성을 고려한 기술 선택이 중요.
Next Feeds

무신사 X GitHub Copilot은 정말로 우리의 생산성을 높였을까?
무신사 GitHub Copilot 도입 후 개발 생산성 변화를 데이터 기반으로 검증하고, AI와 개발 문화의 공존 방안을 모색했습니다.
GitHub Copilot개발 생산성Cycle Time코드 리뷰AI
2025. 2. 11.
무신사

트래픽이 복사가 된다고?! 미러링 테스트 도입기 — nginx
Nginx를 활용한 미러링 테스트 도입 과정과 실제 테스트 사례, 그리고 Nginx 미러링의 장단점을 소개합니다.
미러링 테스트Nginx트래픽 셰도잉envsubst다크 런칭
2025. 2. 11.
펫프렌즈

라이브 게임 에셋 관리 개선기 - 번외1.리소스 최적화 기법
나인크로니클의 리소스 최적화 기법을 통해 게임 용량과 메모리 사용량을 줄이는 방법을 설명하고, 텍스처, 오디오, 스파인 데이터 압축 전략을 제시한다.
리소스 최적화텍스처 압축스프라이트 아틀라스오디오 압축스파인 데이터
2025. 2. 11.
플라네타리움

Go GC를 너무 믿지 마세요 - 메모리 누수 탐지와 GC 주기 조절
Go GC를 맹신하지 말고, 메모리 누수 탐지 및 GC 주기 조절을 통해 메모리 사용량을 최적화하는 방법을 소개합니다.
GoGC메모리 누수valgrindGOGC
2025. 2. 10.
Naver d2
Ideavim !:과 셸 스크립트 조합으로 초간단 플러그인 만들기
Ideavim의 ':!' 기능과 셸 스크립트 조합으로 IntelliJ에서 나만의 플러그인을 만들고 활용하는 방법을 소개합니다. SQL을 JPA Entity로 변환하는 예시를 통해 실용성을 강조합니다.
IdeavimIntelliJ셸 스크립트플러그인JPA Entity
2025. 2. 10.
카카오페이

Spring Transactional Rollback Deep Dive
Spring 트랜잭션 롤백 동작에 대한 심층 분석 및 Kotlin에서의 예외 처리 고려 사항을 다양한 사례를 통해 설명합니다.
SpringTransactionalRollbackExceptionKotlin
2025. 2. 10.
하이퍼커넥트