서버 시간은 정말 티켓팅에 도움이 될까?

우리는 가끔 웹 사이트에서 정확한 시간에 빠르게 티켓을 구매해야 할 때가 있습니다.

내가 좋아하는 연예인의 콘서트, 연극과 뮤지컬 또는 명절 시기의 기차표 예매를 해야 할 때 말이죠.
이것을 우리는 "티켓팅" 이라고 부르고 일부 누군가는 이 티켓팅에 성공하기 위해 서버 시간을 확인하기도 합니다.

그런데, 우리가 확인하는 서버 시간은 정말 도움이 되는 걸까요?
어쩌면 도움이 된다는 믿음에 플라시보 효과만 존재하는 게 아닌지 알아봅시다.

예매 서비스가 시간을 확인하는 방식

먼저, 우리가 예매 할 때 어떻게 시간을 확인해서 우리에게 경고 혹은 구매할 수 있게 하는 걸까요?
우리가 "예매하기" 버튼을 누르면 예매 페이지는 다음과 같은 행동을 하게됩니다.

1. 예매하기 버튼을 누른다. 
2. 예매 서버가 시간을 확인한다.
3. 시간에 따라 경고 혹은 구매할 수 있게 해준다.

서버 시간 서비스가 주장하는 것 처럼 예매 서버의 시간을 가져와서 좀 더 정확하고 빠르게 구매를 가능하게 해줄 수 있는 것 같습니다.

그렇다면 서버 시간 서비스는 정확히 예매 서버의 시간을 가져오는 걸까요?
일반적으로 서버 시간을 확인할 때 예매 서비스의 웹 사이트 주소를 통해서 확인하게 됩니다.
그렇다는건 서버 시간 서비스에게 주어진 정보는 웹 사이트 주소 단 하나만의 정보만을 가지고 서버 시간을 가져올 수 있어야 합니다.

이것이 정말 가능한 걸까요? 가능 하다면 어떤 원리로 가져오는 걸까요?

서버 시간 서비스가 예매 서버의 시간을 가져오는 원리

우리가 웹 사이트를 볼 때 그 뒤에서는 정말 많은 정보들을 교환하고 조합해서 화면을 표시하게됩니다.
그 정보들 중에서 시간 정보도 포함되어 있는데 서버 시간 서비스는 이 정보를 통해서 우리에게 서버 시간 이라는 이름으로 보여주게 됩니다.

이 시간은 꽤나 정확합니다. 우리가 예매할 때 확인하는 시간과 정확하게 동일하죠.
하지만 이 시간 정보에는 밀리초 수준의 정보는 포함하고 있지 않습니다.
초 단위 까지의 정보만을 가지고 서버 시간을 표시하게 되죠.

이로 인해 밀리초 수준의 정확도는 가질 수 없게 되는 것입니다.

밀리초 수준으로 정확한 시간을 확인할 순 없을까?

지금 이 글을 볼 수 있게 해주는 기계와 웹 사이트의 서버는 결국 같은 컴퓨터입니다.
일반적인 컴퓨터는 시간을 확인하는 방식도 완전히 동일하게 작동하죠.

이 작동 방식에서 NTP 라는 기술을 사용하게 되는데요.
이 기술에서 설명하는 바로는 36시간 이내의 간격으로 시간을 맞춰준다면 수십 밀리초 수준의 정확도를 가질 수 있다고 합니다.
그리고 컴퓨터는 적어도 36시간 보다는 빠른 간격으로 시간을 자동으로 맞춰줍니다.

이 말은 우리가 서버 시간을 통해서 확인하는 정보 보다 컴퓨터 시간이 훨씬 더 정확하다는 것입니다.
서버 시간 서비스가 가져오는 시간은 밀리초 수준의 정보도 아닐 뿐더러 가져오는 과정에서 오차가 발생할 수 밖에 없지만,
지금 우리가 사용하는 컴퓨터 시간은 밀리초 수준으로 정확 하면서, 웹 사이트의 서버와 동일한 방식으로 시간을 확인하니까요.

그런데 왜 나는 티켓팅에 실패하는 걸까?

아마 티켓팅을 하면서 분명 오픈 시간이 되었는 데도 티켓 구매가 되지 않거나, 이미 구매가 끝난 경험 한번쯤은 있으셨을 겁니다.

우리의 컴퓨터가 부하가 심하면 렉이 걸리듯이 서버도 똑같이 렉이라는 것이 존재합니다.
다만, 서버는 이 렉으로 인해 고객이 불편을 느끼지 않기 위해서 여러 처리를 통해 서비스가 원활하게 작동할 수 있게 합니다.

경쟁률이 있는 티켓팅의 경우 수만명의 좌석을 구매할 수 있고 이 좌석을 구매 하려는 사용자는 수십만명이 될텐데,
이 수십만명의 구매 요청을 1초도 안되는 시간에 서버가 처리하는 것이 가능할까요?

일부 운이 좋은 사용자를 제외 한다면 대부분은 서버가 당신의 구매 요청은 보지도 못한 채 실패하게 될겁니다.
어쩌면 매크로를 사용하는 반칙 사용자가 결국 승리하게 되는 것일 수도 있겠죠.

많은 예매 서비스가 매크로를 막는 시도를 하겠지만 결국 창과 방패의 싸움이 될겁니다.

결론

결과적으로 우리가 보는 서버 시간은 지금 우리의 컴퓨터 시간과 다를게 없습니다.
오히려 우리의 컴퓨터 시간이 훨씬더 정확도에 근접합니다.

티켓팅의 성공과 실패의 요인은 운이 가장 큰 요인이고, 성공률을 높이는 대에는 많은 시도와 경험에 따른 노하우가 될 수 있을 것 같습니다.
아니면, 더 비싼 돈을 주고 티켓을 구매 하거나요.

댓글