Социальная сеть Facebook вошла в число спонсоров Apache Software Foundation

12.01.2010 20:38

Социальная сеть Facebook вошла в число организаций, поддерживающих проекты фонда Apache в статусе "золотого" спонсора. Кроме финансовой поддержки, помогающей развитию проектов Apache, поддержанию инфраструктуры и проведению встреч разработчиков, Facebook принимает участие в разработке таких проектов Apache, как Hive, Hadoop, Thrift и Cassandra. Два из последних проектов разработаны в недрах Facebook и представлены сообществу Apache как открытые разработки.

Thrift представляет собой фреймворк для расширяемой межъязыковой разработки сервисов, позволяющий генерировать код для сервисов, поддерживающих языки C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk и OCaml. Cassandra является высоко масштабируемой распределенной базой данных, объединяющей полностью распределенную хеш-систему Dynamo с моделью хранения данных, похожую на Google Bigtable.

Таким образом, в число платиновых спонсоров Apache входят компании Google, Microsoft и Yahoo!; в число золотых спонсоров - Facebook и Hewlett-Packard; в число серебряных - Progress Software и Springsource/VMWare; бронзовых - BlueNog, Intuit, Joost и Matt Mullenweg.

Инфраструктура Facebook работает на стандартном LAMP стеке (Linux, Apache, MySQL, PHP), наиболее нагруженные серверные компоненты написаны на C++, Erlang и Java. Из недр Facebook выросли такие открытые проекты, как:

  • высокопроизводительный web-сервер Tornado совмещенный с фреймворком для разработки web-приложений на языке Python, напоминающим Django, Google webapp и web.py;
  • система агрегирования логов с большого числа серверов Scribe;
  • библиотека для построения web-сервисов Thrift;
  • в рамках проекта Facebook Open Platform доступен код REST API, парсеров FBML (Facebook Markup Language), FQL (Facebook Query Language) и FBJS (Facebook Javascript);
  • патчи для улучшения производительности memcached в 4-6 раз;
  • распределенное хранилище ThruDB;
  • интерактивный shell phpsh,
  • система профилирования PHP скриптов XHProf;
  • библиотека для встраивания PHP скриптов в C++ программы;
  • распределенное хранилище данных cassandra;
  • утилита flvtool++ для изменения мета-данных в FLV файлах.