개발자 | 페이스북 |
---|---|
발표일 | 2008년 10월 24일 |
저장소 | |
프로그래밍 언어 | C++, 파이썬 |
라이선스 | 아파치 라이선스 2.0 |
웹사이트 | 스크라이브 홈페이지 (깃허브) |
스크라이브(Scribe)는 수많은 서버로부터 실시간으로 스트리밍되는 로그 데이터를 집약시키기 위한 서버이다. 클라이언트 사이드의 수정 없이 스케일링 가능하고 확장 가능하도록, 또 임의의 머신이나 네트워크의 실패에 대해 안전하도록 설계되었다.
스크라이브는 페이스북에서 개발되어 2008년 오픈 소스로 출시되었다.[1][2]
스크라이브 서버들은 방향 그래프로 정렬되며 각 서버는 그래프의 다음 서버에 관해서만 인지하고 있다. 이 네트워크 토폴로지는 서버가 커짐에 따라 팻인(fat-in) 추가 계층을 추가하는 것, 그리고 데이터센터 간에 메시지를 보내기 전에 메시지를 일괄 처리하는 것을 허용하며 이를 위해 데이터센터 토폴로지의 명시적인 이해가 필요한 코드 없이 단순한 구성만 수반된다.[3]
스크라이브는 신뢰성을 염두에 두면서도 무거운 프로토콜과 막대한 디스크 용량을 요구하지 않도록 설계되었다. 스크라이프는 간헐적인 연결 노드 실패를 관리하기 위해 모든 노드의 디스크에 데이터를 스풀링하지만 모든 메시지에 대해 로그 파일을 동기화하지는 않는다. 이로 인해 재난적인 하드웨어 실패나 충돌 시에 약간의 데이터 손실이 발생할 가능성이 있다. 그러나 이 정도의 신뢰성은 대부분의 페이스북 용례에 적합한 편이다.[3]