상세 컨텐츠

본문 제목

[펌]트위터 리밋

IT 세상

by 이현민 (지후지율아빠) 2011. 9. 27. 22:56

본문



트위터를 사용하다보면 어느 순간 갑자기 더 이상 트윗을 하지 못하거나 팔로우를 하지 못하는 상황이 발생한다. 이것은 바로 트위터에 존재하는 리밋에 걸린 경우이다. 리밋에 걸리면 더 이상 트윗을 못하거나, 팔로우를 못하거나, 혹은 DM을 보내지 못하게 된다. 어찌보면 참 사람 불편하게 하는 기능이다. 이런 리밋이 왜 존재할까?



1. 트위터에는 왜 리밋이 존재할까?


트위터는 얼마전까지의 일반적인 웹 서비스와는 달리 API라는 것을 제공한다. API란 Application Programming Interface의 약자로, 호환되는 프로그램을 개발할 때 서로 연결할 수 있게 해 주는 연결 규격이나 중간 역할을 하는 프로그램을 말한다. 이 API를 이용하면 트위터 웹페이지가 아니라 일반 윈도우나 맥용 프로그램이나 다른 웹서비스에서도 트위터의 각종 기능을 사용할 수 있게 된다. 우리가 많이 사용하는 twtkr 이나 Mixero, Seesmic, 파랑새, TweetDeck, Tweetie 등의 각종 앱 및 서비스는 바로 이런 API를 사용한다. 필자가 개발한 트위터 백업 프로그램 짹짹도 마찬가지로 API를 사용한다.

그런데 이렇게 API를 사용해서 트위터의 기능을 이용하게 해주면, 외부 프로그램을 통해 무작위로 다른 사용자를 팔로우하거나 스팸 메시지를 무작정 뿌려대는 상황이 발생할 수 있다. 사실 이런 프로그램을 개발하는 것은 아주 간단한다. 결국 최근에는 자동 팔로우 서비스까지 등장하면서 “맞팔의 난”이라는 재미있는 용어까지도 나왔다. 상황이 그렇다보니 트위터를 만든 트위터 본사에서는 API 사용 횟수를 일정한 기준으로 제한할 필요를 느끼게 되었다. 바로 이것이 트위터의 리밋(Limit)이다. 말하자면 주식 시장의 서킷 브레이크 같은 역할이라고 할 수 있다.


2. 갑자기 트위터 외부 앱으로 트윗이나 조회가 안되요!! API 리밋

어느 순간 갑자기 더 이상 트윗(Tweet), 즉 트위터에 글을 쓰는 것을 하지 못하는 상황이 발생한다. 이것에는 두 가지 경우가 있는데 하나는API 리밋이고 다른 하나는 업데이트 리밋이다.

이 중에서 API리밋은 특정 인터넷 주소(IP Address)에서 한 시간 안에 150개의 API 호출을 한 경우에 발생한다. 이것은 단순히 트윗을 한 경우 뿐만 아니라 DM을 보내거나 받는 등 API 호출을 한 모든 경우에 해당된다. 따라서 DM도 못 보내는 현상까지 함께 발생하게 된다.

API 리밋의 한도는 위에 설명한 바와 같이 시간당 150개이다. 150개를 모두 사용하면 더 이상 API 호출이 안되며, 1시간 정도가 지나면 리밋이 풀리게 된다. 다만, oAuthentication 방식을 이용하는 외부앱들은 350개의 리밋 한도가 적용된다. 필자의 트위터 백업 프로그램인 짹짹을 처음 실행하면 Accept/Deny 와 같은 버튼이 나타나는데 이와같은 방식이 바로 oAuthentication 방식이다. 트위터에서는 ID/Password를 입력받아 사용하는 기존의 앱 로그인 방식에 대해 2010년 중 지원을 중단할 것이라고 발표한 바 있다.

이 API 리밋을 해결하는 방법은 간단하다. 그냥 트위터 웹 페이지로 가서 사용하면 되는 것이다. API리밋의 원리는 자신의 컴퓨터가 위치하는 주소(IP Address)에서 발생한 API 호출에 대해 1시간 동안 막는 것이기 때문에 트위터 웹에서 하는 트윗은 아무 문제가 없는 것이다. 뿐만 아니라 twtkr.com 이라던가 Seesmic Web 과 같은 웹 기반 서비스에서도 사용할 수 있다. 또한, 자신의 아이폰 등에서 WiFi가 아니라 3G로 접속한 경우도 아무 문제없이 사용할 수 있다. 다만 WiFi의 경우 자기 PC와 IP주소를 공유하는 경우가 많기 때문에 동시에 API 리밋이 적용될 수 있다.

API리밋과 관련하여 독특한 점은, 그것이 트위터 계정과는 관계없이 IP 주소를 통해서만 이루어지기 때문에 여러 사람이 커피숍의 무선 공유기를 이용해 동시에 트위터 앱을 사용하는 경우 API 호출 숫자가 기하급수적으로 늘어나면서 바로 리밋에 걸리는 상황이 발생할 수도 있다는 점이다. 따라서 커피숍에서 트위터 앱을 사용하다가 더 이상 동작을 안하는 경우에는 트위터 웹페이지를 통해 사용해 보는 방법이 있다.


※ 본인의 API 리밋이 얼마나 남았는지 알고 싶으면 다음 링크를 Internet Explorer로 열어본다.

http://api.twitter.com/1/account/rate_limit_status.xml

그러면 위의 그림과 같은 결과를 얻게 되는데, 각 항목은 다음과 같은 의미를 가진다.

hourly-limit : 1시간당 API 리밋 한도. 보통 150이다. 다만 특별한 경우에는 조금 다를 수 있다.

remaining-hits : 남아있는 API 호출 횟수. 이 횟수가 0이 되면 API 리밋이 된다.

reset-time : 다음 API 호출 횟수의 리셋 시각 (세계표준시 기준)

reset-time-in-secons : reset-time을 epoc time 형태로 표현한 것

참고로, 위의 링크를 호출할 때 로그인 정보가 함께 전달되면 API 리밋의 남은 횟수가 아니라 아래에 설명할 업데이트 리밋의 남은 횟수를 얻을 수 있지만, 일반 웹 접속을 통해서는 이런 방식으로 접속해서 결과를 얻기 어렵다.


3. 더 이상 트윗(Tweet)이 안되요! 업데이트 리밋(Update Limit)

업데이트 리밋은 하루에 1,000 트윗을 한 경우에 발생한다. 이렇게 하루에 1,000 트윗을 하게 되면 더 이상 외부 앱을 통해서도, 그리고 웹에서도 더 이상 트윗을 할 수 없게 된다. 물론, twtkr과 같은 웹 형태의 서비스에서도 더 이상 트윗을 하지 못하게 된다. 다만 DM은 아무 문제 없이 보내고 받을 수 있다.

업데이트 리밋은 몇 시간 정도, 심한 경우 하루 가까운 시간이 지나야 풀리게 되는데 일반적인 방법으로는 언제 풀릴지 알 수 없다. 그냥 가서 딴 일을 하거나 한 잠 자고 오는 것 외에는 방법이 없다.


4. DM을 보낼 수가 없네요. DM 리밋

DM 리밋은 하루에 250개의 Direct Message를 보냈을 때 발생한다. DM 리밋이 발생하면 DM을 받을 수는 있지만 더 이상 DM을 보낼 수가 없게 된다. DM 리밋에 걸리더라도 일반 트윗 리밋과는 아무런 관련이 없기 때문에 트윗은 문제 없이 할 수 있다.

DM 리밋이 풀리려면 24시간이 지나야 한다고 하는데 정확한 것은 아니다. 필자의 경험으로는 심한 경우 36시간이 지나야 풀린 적도 있다. 트위터 회사에서는 이 리밋이 풀리는 기준에 대해 정확한 기준을 알려주지 않고 있다.


5. 더 이상 팔로우를 할 수가 없네요. 팔로잉 리밋 (Following Limit)

팔로잉 리밋에는 두 가지가 있다. 하나는 데일리 리밋(Daily Limit)이고 다른 하나는 계정에 의한 리밋(Account Based Limit)이다.

데일리 팔로잉 리밋은 하루에 1,000명을 팔로우하면 걸리게 된다. 이 경우에는 그냥 기다리는 것 외에는 방법이 없다. 물론 다음날이 되면 다시 팔로우를 할 수 있게 된다. 정상적인 유저라면 하루에 1,000명을 팔로우 한다는 것이 거의 불가능하거나 그런 경우가 없게 마련이다. 다만 최근 유행한 자동 팔로우 서비스를 이용할 경우에는 이처럼 데일리 팔로잉 리밋에 걸릴 수 있다. 팔로잉을 너무 많이 하여 자꾸 데일리 리밋에 걸리게 되면 스팸 계정으로 분류되어 차단(Suspend)될 수도 있으니 주의해야 한다.

계정에 의한 리밋(Account Based Limit)의 경우에는 팔로잉 숫자가 팔로어 숫자보다 일정 비율로 초과할 경우에 발생한다. 우선, 팔로잉 숫자가 2,000명에 도달하면 2,001번째부터는 팔로어 숫자가 일정 비율에 도달할 때까지는 더 이상 팔로우를 할 수가 없게 된다. 어떤 분의 실험에 따르면 팔로어 숫자가 자신의 팔로잉 숫자 x 1.1 보다 커야 이 리밋이 풀린다고 한다.


6. 맺음말

리밋은 어디까지나 비정상적인 동작을 막기 위한 트위터의 안전장치이다. 따라서 이런 리밋에 걸렸다면 자기가 뭔가 비정상적인 사용을 했다는 점을 깨달아야 한다. API리밋이나 업데이트 리밋, DM 리밋이야 몇 번 걸려도 스팸 계정으로 분류될 가능성은 낮지만, 팔로잉 리밋의 경우에는 스팸 계정으로 분류될 가능성이 매우 높으니 주의해야 한다.

리밋에 걸렸다면 잠시 트위터를 접고 하루 정도 인간 세상으로 돌아가 보는 것이 어떨까? 인간 세상에도 좋은 사람들이 많이 있다는 것을 깨달을지도 모른다.



펌 : http://barryspost.net/post/1473

반응형

관련글 더보기