블로그 메타 사이트(allblog, blogkorea)의 피드 수집 방식 유감 

Simple View | Forum View

블코나 올블 같은 블로그 메타 사이트에 자신의 블로그(피드)를 등록하면, 새로운 글을 포스팅하는 경우 약간의 시간차가 있긴 하지만, 길어야 10분 이내 자신의 글이 메타 사이트에 등록된다.

어떻게 내가 글 쓴 것을 알고 그것을 등록하는 거지? 신기하네...
이런 생각을 한 적이 있는데, 그 배경에는 설마 주기적으로 내 피드를 가져가서 이전 피드랑 비교하는 식으로 처리하는 것은 아니겠지...하는 생각이 있었다.

설마 그 많은 블로그들의 피드를 계속 읽어들여서 비교하는 방식을 쓸까?...그렇진 않겠지... 그렇다면 도대체 저 두 메타사이트는 내가 새글을 쓴걸 어떻게 귀신같이 알고 등록하는 거지? 거참 신기하다...

그런데 사실은 내가 설마했던 그 방식을 사용하고 있다. 메타 사이트에 등록한 대략 1만여개의 블로그의 RSS/ATOM 피드 파일을 주기적으로 읽고 비교하는 방식이다.

그래서 어제 한번 과연 두 사이트는 얼마나 주기적으로 가져가나 실험을 잠깜 해봤다. 당연히 어떤 객관성을 강조하기 위한 실험이 아니라 대~충 했다. 근데 크게 그 평균값은 당장에 달라지지 않으리라 본다.

블 로그코리아(blogkorea)는 660초마다 한 번씩 내 RSS 피드를 가져갔다. 올블로그(allblog)는 540초마다 한 번씩. 다시 말하면 올블은 하루에 160번, 블코는 130번 정도 내 블로그 서버에 접근해서 RSS 피드 파일을 가져간다.

이제 내가 등록하고 있는 무버블타입 플러그인 블로그의 실험 당시의 RSS 피드 파일의 크기를 보니까 35K 바이트 정도였다. 이 피드 파일의 크기는 평균이라는 개념을 잡기 곤란하다. 하나의 피드에 몇개의 글을 담느냐, 전문을 다 담느냐 요약 정도만 담느냐, 영문이냐 한글이냐, 한글이면 EUC-KR인코딩이냐 UTF-8인코딩이냐에 따라 시시각각 변한다.

어쨋든 실험해보는 순간 내 RSS 파일의 크키를 기준으로 계산해보면, 내가 올블과 블코 두 군데 메타 사이트에 등록한 "원죄(?)"로 하루에 약 10 메가의 트래픽을 소비당하고 있었다.(그 절대적인 크기는 이 실험에서 그리 중요하지 않다)

10메가의 트래픽이라면 크다면 크고 작다면 작지만, 대체적으로 그리 부담이 되는 양은 아니라고 봐도 될 것이다. 내 호스팅의 하루 트래픽 용량이 400메가인데, 어차피 방문객도 없는 이런 외딴 블로그에 꼬박 꼬박 10메가를 메타 사이트에 소비한다고 달라질건 하나도 없다고 볼 수 있다.

그렇다면 정말 아무 문제가 없는 방식인가?

메 타 사이트들의 성능을 평가하는 여러 잣대가 있을 수있는데, 그중 블로거의 새 글을 얼마나 실시간으로 포착해서 메타 사이트에 나타내주느냐...하는 것이 있을 것이다. 현재의 피딩 방식은 여기서 딜레마에 빠진다. 즉, 실시간 개념으로 빨리 포착하기 위해선 피딩 시간 간격을 좁혀야 한다. 그 말은 결국 블로거의 트래픽을 더 많이 소비해야만 한다는 말이 된다. 현재 두 메타 사이트가 평균적으로 넉넉잡고 10분 간격인데, 이걸 5분 간격으로 높인다면 블로거들은 두배의 트래픽을 소비(제공)해야만 하는 것이 된다.

이 런 서버와 클라이언트간의 정보 교환 방식은 폴링(polling) 혹은 pull 방식이라고 표현할 수 있을 것이다. 개개의 블로거가 RSS 피드를 제공하는 서버 역할이 되고, 메타 사이트의 피딩로봇이 클라이언트가 되는데, 그 로봇이 주기적으로 서버에 접근해서 업데이트를 포착하는 방식.

그에 반하는 방식은 push 방식 혹은 인터럽트 방식이라고 부를 수 있을려나? 즉 개개의 블로그 시스템에서 새론 글을 업데이트하면 그 사실을 메타사이트에게 알려주는 방식이다. 이 경우 하루에 열개의 글을 쓰든 한달에 하나의 글을 쓰든 쓸때만 트래픽이 발생한다. 따라서 메타사이트 서버도 로드가 매우 적게 걸리는 효율적인 방식이다. 수많은 블로그의 피드를 수집하는 리소스를, 검색/인덱싱 등에 분배할 수 있을 것이다.

테크노라티나 그외 여러 해외의 메타사이트는 다 이 방식을 사용하고 있다. 따라서 무버블타입이나 워드프레스 등과 같은 블로그 툴은 당연히 이런 방식을 지원하고 있다.

테크노라티의 경우 XML-RPC  방식에 의한 업데이트 ping 방식을 지원하고 있으면, weblogs.com의 경우 XML-RPC 핑 이외에 REST 방식으로 GET, POST 등으로 업데이트를 알리는 방식까지 지원한다.

이 게 기술적으로 어려운 것이냐하면 전혀 그렇지 않다. 그런데도 한국의 여러 블로그 메타 사이트는 블로거들의 트래픽을 주기적으로 쓸데 없이 소비하면서, 자신의 서버 리소스까지 낭비하는 조금 단무지틱한 폴링 방식으로 피드를 가져간다는게 조금 뜻밖이다.

왜 업데이트 핑을 지원하지 않는걸까? 도.대.체. 왜!!!
올블의 경우 수동 핑 방식을 지원하는데, 과연 누가 글하나 쓰고 올블의 자기 계정에 들어가서 핑 버튼을 누를까...

앞 선 하나의 실험에서 내 경우 하루에 두 메타 사이트 도합 약 10메가의 트래픽을, 단지 메타에 등록만 했다는 죄로 새 글을 업데이트 했냐와 상관없이 소비한다고 했는데... 네이버나 다른 수많은 회원을 가진 블로그 시스템에서 본다면, 아무리 그곳이 트래픽 천국이라고 하지만 이건 "낭비"가 아닐 수 없다. 그 전적인 책임은 두 메타사이트의 프로그래머들이 져야 할것이고...

업 데이트 핑을 지원하지 않는 블로그툴이나 가입형 블로그가 존재하는 마당에, 당장의 실질적인 효과가 적을 순 있다. 하지만 메타 사이트에서 이것을 지원한다면, 네이버 같은 대형 사이트에서 이 간단한 업데이트 핑을 지원하지 않을 수 없다.

이 페이지에 서 거의 실질적 표준(?)이라고 볼 수 있는 XML-RPC, REST 방식의 설명을 볼 수 있다. 정말 기술적으로 그 도입의 어려움을 논하는 것 자체가 우스울 정도로 간단한 방식이니 얼른 이 업데이트 핑을 블로그 메타 사이트에서 지원했으면 한다.

수정 추가:

 무버블타입에서는 설정의 "새 엔트리 기본값" 영역에서 주소를 아래 부분에 메타사이트가 제공하는 ping 주소를 입력하면 됩니다.
올블로그의 경우 http://v2.allblog.net/RpcPing.rem 주소를 입력하면 됩니다.


Comments

올블로그에서는 이미 오래전부터 핑 수집방식이 도입되어 있었습니다.
http://www.allblog.net/RpcPing.rem 그럼 :-)

Posted by 골빈해커 , 2006년 06월 14일 오후 6:40

실험하고 글을 쓰면서, 블코랑 올블의 도움말 페이지 등에서 업데이트 핑을 지원하는지 나름 찾아봤지만 찾을 수 없어서, 지원하지 않는다고 보고 글을 썼습니다.

하긴 이 간단한 기능을 지원하지 못한다는게 더 우습죠. 베타라고 되어 있는데 얼렁 도움말이나 설정란에서도 볼 수 있었으면 좋겠네요.

그리고 WP외에 "무버블타입" 블로그도 핑 지원합니다.

참, http://www.allblog.net/RpcPing.rem 여기로 핑 보내면 되는 겁니까? 이 페이지는 설명 페이지 같은데..

Posted by 알록블록 , 2006년 06월 14일 오후 6:56

http://v2.allblog.net/RpcPing.rem 를 등록하시고 전송 방식을 수동/핑으로 바꾸시면 될겁니다.

저는 그렇게 쓰고 있는데 한가지 단점은 글의 추가나 삭제가 조금 더 둔해진다는 것입니다. 그래도 만족할만합니다.

Posted by CN , 2006년 06월 14일 저녁 7:12

글의 추가시에 둔해진다는 것은 핑을 보내고 응답을 받는 동안 blocking이 되서 그런걸텐데, 혹시 올블에서 핑을 받은 후 직접 그 블로그에서 피드를 받아서 처리까지 다한 후에 응답을 주는 건 아닌지 모르겠네요. 그냥 응답만 처리한다면 반응의 둔함을 느낄 정도는 아니라고 보는데...

저만 몰랐나보네요. 많은 분들이 핑을 사용하고 계셨나봅니다. 그럼 블코도 이미 지원을...? ^^;;;

Posted by 알록블록 , 2006년 06월 14일 저녁 7:27

저도 님과 똑같은 글을 작성한 적이 있는데, 문제는 메타사이트가 아니라 각각의 블로그에서 핑을 쏴주는 곳이 없다는 것이죠. ^^;
이미 메타사이트들은 핑을 받을 준비는 다 되어있다고 합니다.

Posted by 작은인장 , 2006년 06월 14일 저녁 7:35

Post a comment

  • PGP/GPG 서명된 코멘트를 지원합니다. ?
  • 이메일 주소는 정중히 사절합니다.
  • 이름(닉네임)/블로그 주소는 필수 입력사항입니다.
  • 이미지는 자기 블로그상의 대문이미지 등을 사용하셔도 좋습니다.
  • 코멘트에 달린 이미지를 클릭하면 자신의 블로그로 연결됩니다.
  • 깨진 블로그/이미지 주소를 가진 코멘트는 수정/삭제 대상입니다.


  •   Forget me

    ?