
지난 주대규모 다운 타임을 경험한Skype의 CIO Lars Rabbe가, 이번에 사고의상세를 발표했다.
원인은, Skype for Windows의 클라이언트(버젼 5.0.0152)의 버그였다.
Rabbe는 기사의 최초 쪽으로, 12월 22일 수요일에 오프 라인의 인스턴트 메시징을 담당하는 서버의 클러스터가 오버히트 했다, 라고 설명하고 있다.
거기서 Skype의 클라이언트의 대부분이, 과부하의 서버로부터의 응답의 지연을 경험해, 그 지연을 Windows의 클라이언트는 적절히 처리할 수 없었다.그리고 결과적으로, 그 버젼의 클라이언트가 기능하지 않게 되었다.
처음은, 그 버젼 이외의 신구의 Windows 클라이언트나, Mac, iPhone, 텔레비젼 수상기등에서의 Skype 유저는 영향을 받지 않았다.
그러나 그런데도, 문제의 버젼 5.0.0152는 Windows상에서 가장 많이 사용되고 있는 클라이언트였기 때문에(Rabbe에 의하면, 전세계의 Skype 유저의50%이상이 사용하고 있는 그 약40%에 불편이 생긴), 이윽고 전시스템이 붕괴했다.
Skype의 글로벌 P2P 네트워크를 구성해 있는 슈퍼 노드의 거의1/3가, 문제의 Windows 클라이언트였다.그러한 슈퍼 노드도, 금새기능하지 않게 되었다.
브로그 기사는, 다음과 같이 말하고 있다:
슈퍼 노드는 통상의 노드 이상의 직무를 담당하기 때문에, Skype의 P2P 네트워크에 있어서 극히 중요하다.그것들은 디렉토리와 같은 기능을 담당하고, 그 다른 Skype 클라이언트끼리의 접속을 확립한다.하나의 슈퍼 노드아래에는, 수백의 피아노드로부터 되는 로컬 클러스터가 형성된다.
슈퍼 노드가 기능하지 않게 되면, 그것이 restart 했을 때에도, P2P 네트워크의 자원으로서 다시 가능 이용이 되기 위해서는, 상당한 시간을 필요로 한다.그 결과, 당분간의 사이 Skype의 P2P 네트워크는, 통상보다25%에서30% 정도 적은 슈퍼 노드로 움직이지 않을 수 없게 되었다.그것에 의해, 가능 이용 슈퍼 노드에의 부하도 비정상으로 증가했다.
또, Windows 클라이언트의 크래쉬를 경험한 유저의 대부분이 그 소프트를 리부트했기 때문에, Skype의 P2P 네트워크 전체의 부하가 급증했다.Rabbe의 설명에 의하면, 슈퍼 노드에의 트래픽이 통상의 100배에도 달해, 그 때문에 최종적으로 대규모 시스템 다운이 생겼다.
말하자면, P2P 곳간 땅두릅(cloud, 구름)에 생긴 폭풍우다.
Skype가 슈퍼 노드의 네트워크를 어떻게 리커버리 했는지, 재발 방지책으로서 무엇을 했는지, 등을 알고 싶은 분은, 꼭브로그 기사의 전문을 읽어 주시기 바란다.
에서도, 신속히, 그리고 이 정도 상세하게, 사고의 원인이나 대책을 설명할 수 있는 기업은, 훌륭하다고 생각하지 말아라.
http://jp.techcrunch.com/archives/20101229skype-reveals-a-bug-in-its-windows-client-was-what-crashed-its-system/