NovaCraftX Nova Craft X
알람킹 개발일지

알람이 3.2초 늦게 울렸다, 데이터는 제때 왔는데 왜 그랬을까

NovaCraftX
Mar 17, 2026

밤 11시쯤 비트코인이 크게 움직이던 구간이었습니다. 설정해둔 알람킹(AlarmKing) 트레이딩 알람이 울렸어요. 그런데 뭔가 늦었습니다. 체감으로도 이상했고, 로그를 확인하니 실제로 늦었어요.

3.2초. 숫자만 보면 작아 보입니다. 하지만 급등락 구간에서 3초면 비트코인이 1.5% 이상 움직일 수 있어요. 알람을 받고 확인하는 순간 이미 지나간 가격이 되는 거죠. 코인 시세 알람에서 지연은 기회 손실과 직결됩니다.

왜 그냥 넘길 수 없었나

알람킹은 사용자가 계속 화면을 볼 수 없는 순간을 대신 지켜보다가 조건부 알람을 보내주는 트레이딩 앱입니다. 알람이 제때 울리지 않으면 이 앱에 중요한 순간을 맡기는 의미가 없어져요.

3.2초 지연이 일회성인지, 반복되는 구조적 문제인지 확인이 필요했습니다. 그냥 넘겼다가 실전에서 같은 일이 생기면 더 큰 문제가 될 수 있으니까요.

처음에 의심한 것들

처음엔 외부 API 쪽 문제라고 생각했습니다. 거래소 데이터 피드가 느려졌거나, 네트워크 어딘가에서 병목이 걸렸거나. 비슷한 상황이 전에도 있었거든요.

그런데 로그를 단계별로 따라가봤을 때, 예상과 달랐어요. 외부 데이터 수신은 200ms 이내로 정상이었습니다. 조건 판정 로직도 이상 없었어요. 문제는 그다음 단계에 있었습니다. 알람 발송 큐에서 2.8초를 대기하고 있었어요.

의심이 바뀐 지점

데이터는 제때 들어왔고, 조건도 정확히 판정됐는데, 실제 발송 직전 단계인 큐에서 병목이 생기고 있었습니다.

왜 그 시점에 큐 대기가 길어졌는지 정확한 원인은 이번 조사에서 다 파악하지 못했어요. 다만 지연이 발생한 구간은 특정할 수 있었고, 큐 구조 자체를 개선해야 한다는 방향은 확인됐습니다.

무엇을 바꿨나

큐 구조를 전면 교체하려면 시간이 필요했습니다. 그 사이에 또 지연이 생길 수 있었으니, 먼저 임시 우회책을 적용했어요.

임시 조치 이후 지연이 0.8초 이내로 줄었습니다. 완전한 해결은 아니지만, 3.2초보다는 의미 있는 개선이었어요.

근본적인 큐 구조 리팩토링은 이후 작업으로 계획했습니다. 임시 조치가 언제까지 충분할지 모르니, 지연 지표를 계속 추적하면서 진행하기로 했어요.

이번 일이 바꾼 것

알람 지연이 생기면 외부 데이터 피드나 네트워크 쪽을 먼저 의심하는 게 자연스러운 흐름이에요. 그런데 이번엔 외부는 정상이었고, 지연은 내부 처리 단계에서 쌓이고 있었습니다.

외부 정상 = 전체 정상이라는 가정이 항상 성립하지는 않는다는 걸 실제로 확인했어요. 이제는 외부와 내부 각 단계를 분리해서 추적하는 방식을 먼저 씁니다.

비트코인 알람처럼 타이밍이 중요한 상황에서 3초가 어떤 의미인지를 이번에 다시 생각하게 됐어요. 알람킹을 만들면서 계속 붙들고 있는 문제이기도 합니다.

중요한 순간에 알람이 제때 울리는 것, 그게 알람킹이 만들려는 것입니다. 가격 알람부터 실시간 자산 알림까지 확인해보세요.