go ·
채팅 키워드알림 서비스 - 멀티테넌트 키워드 알림
라이브 채팅 firehose 한 줄이 조직별 키워드에 걸려 Slack, Discord, 앱 푸시로 나가고 ClickHouse에 남기까지를 실제 코드로 따라갑니다. 단일 테넌트로 태어난 Go 서비스가 조직, 그룹, 채널 3층 구조를 얻는 동안 무엇을 바꾸고 무엇을 그대로 뒀는지 정리합니다.
조현우 75 min read go ·
SOOP, 치지직, 씨미 채팅 수집 커넥터로 12,000개 방송 채팅 수집하기
치지직, SOOP, 씨미 세 곳에서 수천 개의 채팅 WebSocket을 동시에 유지하며 만난 문제입니다. 두 겹 keepalive가 각각 다른 죽음을 잡는 이유, 68,248번의 Ping/Pong 측정이 상수를 정한 과정, 공유 출구 IP 하나가 만든 P0 인시던트를 코드와 함께 정리합니다.
조현우 49 min read kubernetes ·
라이브 스트리밍 채팅 수집 시스템을 KEDA와 Karpenter로 확장한 방법
수집 채널 수를 KEDA의 확장 신호로 바꾸고, Karpenter와 Spot Instance로 필요한 Worker와 노드를 공급하며 만든 운영 원칙을 공유합니다.
조현우 15 min read