Scribe (log server)
{{Infobox software
| name = Scribe
| logo =
| screenshot =
| caption =
| collapsible =
| author =
| developer = Facebook, Inc.
| released = {{start date|2008|10|24}}
| discontinued = {{start date|2014|05|28}}
| latest release version =
| latest release date =
| latest preview version =
| latest preview date =
| frequently updated =
| programming language = C++, PHP, Python
| operating system =
| platform =
| size =
| language =
| status =
| genre =
| license = Apache License 2.0
| website = [https://github.com/facebookarchive/scribe Scribe homepage (Github)]
}}
Scribe was a server for aggregating log data streamed in real-time from many servers. It was designed to be scalable, extensible without client-side modification, and robust to failure of the network or any specific machine.
Scribe was developed at Facebook and released in 2008 as open source.{{Cite web |title=Log in or sign up to view |url=https://www.facebook.com/notes/686203898948458/ |access-date=2023-02-28 |website=www.facebook.com |language=en}}{{Cite web |last=McCarthy |first=Caroline |title=Facebook to developers: Here, have some code! |url=https://www.cnet.com/culture/facebook-to-developers-here-have-some-code/ |access-date=2023-02-28 |website=CNET |language=en}}
Scribe servers are arranged in a directed graph, with each server knowing only about the next server in the graph. This network topology allows for adding extra layers of fan-in as a system grows, and batching messages before sending them between datacenters, without having any code that explicitly needs to understand datacenter topology, only a simple configuration.https://www.facebook.com/note.php?note_id=32008268919&id=9445547199 {{User-generated source|certain=yes|date=March 2022}}
Scribe was designed to consider reliability but to not require heavyweight protocols and expansive disk usage. Scribe spools data to disk on any node to handle intermittent connectivity node failure, but doesn't sync a log file for every message. This creates a possibility of a small amount of data loss in the event of a crash or catastrophic hardware failure. However, this degree of reliability is often suitable for most Facebook use cases.
See also
{{Portal|Free and open-source software}}
- [http://flume.apache.org/ Apache Flume]
- Fluentd: Log Everything in JSON
- [https://web.archive.org/web/20160126215108/http://blog.treasuredata.com/blog/2012/01/17/enabling-facebooks-log-infrastructure-with-fluentd/ Enabling Facebook’s Log Infrastructure with Fluentd]
Notes and references
{{Reflist}}
External links
- [https://web.archive.org/web/20100527004122/http://developers.facebook.com/opensource/ Open Source - Facebook Developers]
- [https://www.zdnet.com/article/the-real-value-of-scribe-for-open-source/ The real value of Scribe for open source]
- [https://github.com/facebook/scribe Scribe project on GitHub]
{{Facebook navbox}}
Category:Free software programmed in C
Category:Free software programmed in PHP
Category:Software using the Apache license
{{Network-software-stub}}