1. Twitter’s Murder

    Twitter가 자체적으로 Murder라는 BitTorrent기반의 소프트웨어 Deployment 시스템을 만들어 운영하고 있다. 중앙에 Tracker를 하나 운영하면서 적개는 수백에서 수십만대에 달하는 서버에 서비스 관련 소프트웨어를 배포하는데 사용한다고 한다. 복잡도를 줄이기 위해서 아직 DHT는 사용하고 있지 않다고 한다.

    중앙집중의 Tracker를 사용하니 다중화를 해서 SPOF(Single Point of Failure)를 막았을 것이다. BitTorrent를 사용하는 중요한 이유들 중에 하나가 여러곳에 퍼져있는 데이터센터 때문일 것이다. 각 데이터센터의 프론트에 다른 서버들 보다 더 빨리 Seeder가 되는 서버를 두고 내부로 전파되는 그런식이 될 수도 있겠다.

    예전에도 내부 조직에 이런류의 서비스를 사용해 리눅스를 대량으로 설치하는 사례가 있었다. 정확하게는 기억이 나지 않지만 systemimager-bittorrent 같은 것이었다. PXE에 Diskless로 부팅해 BitTorrent 클라이언트 가동시켜주고 이미지 다운로드해서 로컬에 깔아주는식이 될듯 하다. 암튼 Twitter에서도 BitTorrent를 이용한다니 흥미롭다. 결국 시스템의 스케일에 따라 부대 서비스의 메커니즘도 효율을 극대화해 확장성을 확보해야하는 추세인가 보다.

    서버가 많은 CDN과 같은 서비스 업체에서도 비슷한류의 시스템이 있을듯 싶다만 우리나라에도 과연 이런것을 적용하는 곳이 있을까?

    찾아보니 P2P 방식의 Desktop Deployment 시스템으로 DistriBrute라는 프로젝트도 있다. 이것도 전송 프로토콜은 BitTorrent를 사용하고 있다. Write Once Read Many의 패턴이라면 분산파일시스템에서도 서버간의 복제를 위해 사용해도 좋을듯 하다.