
채널톡 메인 백엔드 서버 CI 개선기
채널톡 메인 백엔드 서버의 CI 병목을 단계적으로 분해해 개선한 과정을 정리했습니다. 공유 상태 제거, prepare 분리, 동적 큐와 캐시로 실행 시간을 크게 줄였습니다.

채널톡 메인 백엔드 서버의 CI 병목을 단계적으로 분해해 개선한 과정을 정리했습니다. 공유 상태 제거, prepare 분리, 동적 큐와 캐시로 실행 시간을 크게 줄였습니다.

AI가 코드를 빠르게 만들수록 CI 병목과 피드백 속도가 더 중요해졌습니다. 채널톡은 공유 상태 제거와 캐시, 동적 큐로 메인 백엔드 CI를 36.6분에서 15분대까지 줄였습니다.

Apache Flink와 RocksDB 튜닝으로 광고 Frequency Capping 실시간 집계를 7일 구간까지 확장한 사례를 다루었습니다. 세 개의 Flink 앱으로 분리해 병목을 각각 해결하고 Redis 단일 조회 구조로 단순화했습니다.

공동구매 트래픽 폭증으로 재고 처리의 lock 경합이 병목이 되자 Redis와 Kafka 중심으로 구조를 재설계했습니다. 재고 경로를 단일화하고 비동기 반영과 fallback을 더해 약 20배 트래픽을 안정적으로 견뎠습니다.

여기어때의 통합 알림 플랫폼 NotiHub 설계와 핵심 의사결정을 정리했습니다. Kafka, Redis, HPA, 샤딩으로 안정성과 확장성을 함께 확보했습니다.

알림이 과잉·분산되며 중요한 신호가 묻히는 문제를 해결하기 위해 NotiHub를 구축했습니다. 기존 웹훅 호환성을 유지하면서 이벤트 기반 라우팅과 팀 단위 운영 체계를 도입했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Hive 기반 전체 재작성 ETL의 한계를 Iceberg와 Flink로 개선한 사례를 소개했습니다. 체크포인트, 2PC, 파티셔닝 최적화로 데이터 반영 속도를 12배 높였습니다.

LINE Ads의 대규모 광고 데이터를 처리하기 위해 Spark on Kubernetes를 도입한 사례입니다. 성능 향상, 비용 절감, 버전 유연성을 함께 확보했습니다.
![[미래를 담아낸 뼈대 4/7] 기반이 열어준 다음 문제](https://flex.team/blog/og/main.jpg)

Hexagonal Architecture 기반의 일관된 구조가 멀티클라우드, AI 백엔드, Observability 전환의 기반이 되었다고 설명했습니다. 표준 인터페이스와 경계 분리가 이후 변경 비용을 크게 낮춘 사례를 다루었습니다.

엠넷플러스는 투표 시스템을 이벤트 기반으로 재설계해 수집, 집계, 백업을 분리했습니다. 또한 DynamoDB와 SQS, MSK를 활용해 안정성과 처리 성능을 크게 개선했습니다.
![[미래를 담아낸 뼈대 3/7] 관계로 풀어낸 권한](https://flex.team/blog/og/main.jpg)

HR 권한 문제를 역할이 아닌 관계로 풀어낸 ReBAC 기반 인가 아키텍처를 소개했습니다. 기존 이벤트 파이프라인과 OpenFGA를 활용해 복잡한 조직 구조와 권한 변화를 유연하게 반영했습니다.
![[미래를 담아낸 뼈대 2/7] 모듈 경계를 넘는 이벤트](https://cdn.sanity.io/images/v31psllp/production/1a44cf6f463c5690a413e9454bd7747d831f131f-1684x1030.png)

Hexagonal Modular Monolith 구조 위에서 Outbox와 CDC로 도메인 간 이벤트 일관성을 보장하는 방식을 설명했습니다. 멱등 컨슈머와 공통 라이브러리로 신뢰성 있는 이벤트 레일을 만든 사례를 다뤘습니다.
![[미래를 담아낸 뼈대 3/7] 관계로 풀어낸 권한](https://cdn.sanity.io/images/v31psllp/production/28bb6a8def7808ade8a7cd15280737842abc1b18-1684x1030.png)

HR 권한 문제를 역할이 아닌 관계로 풀어낸 ReBAC 기반 인가 아키텍처를 소개했습니다. 기존 이벤트 파이프라인을 활용해 조직 변경을 권한에 즉시 반영한 방식도 설명했습니다.

기획서가 없는 블랙박스 시스템을 내재화하며, 입력·출력 정의와 병렬 검증으로 동일성을 증명했습니다. Kafka와 CDC, OpenSearch를 활용해 조회·업데이트·E2E 전환을 안전하게 검증했습니다.