메시지 트래픽 100배에도 끄떡 없게 고객 테이블 뜯어고치기 (1)
채널톡에서 **뱃지(Badge)**는 사용자에게 읽지 않은 메시지나 새로운 알림이 있다는 걸 알려주는 시각적 표시입니다.
아래 앱 아이콘 우측 상단에 빨간 숫자로 표시되는 **4**처럼요. 작지만 사용자 경험에서 꽤 중요한 역할을 하죠.
채널톡에는 세 가지 유형의 사용자가 있습니다.
이 중 User 테이블은 16억 8천만 개의 레코드, 총 용량 1.8TB를 담고 있었습니다. 그런데 하루에도 여러 번 스파이크성으로 1500 TPS 이상의 Badge 업데이트 요청이 몰리면서 User 테이블 전체가 느려지기 시작했습니다.
User 테이블이 느려지면 채널톡의 핵심 기능인 “부트” 기능이 마비됩니다. 부트란 고객이 채널톡이 설치된 웹사이트나 앱에 방문했을 때 고객 정보를 채널톡에 연동하는 과정인데요, 이게 동작하지 않으면 고객사 홈페이지에서 채널톡 자체를 쓸 수 없게 됩니다.