Thursday, May 29, 2008

Архитектура eBay - 2

Еще один интересный материал по архитектурным решениям на eBay. eBay - вообще интересная тема при изучении архитектур больших проектов, поскольку многие вещи они делают по своему. См. например, здесь или здесь.
В новом описании собраны воедино все их основные архитектурные принципы:

- разнесение функциональности по отдельным базам данных. Нет одной системы. 1000 баз данных на 400 хостах. 16 000 (!) серверов приложений
- балансировка нагрузки. Горизонтальное разделение сервисных запросов между идентичными серверами. Причем разделение касается и баз данных. Данные (например, по диапазону значений ключа) разнесены по разным серверам.
- никаких распределенных транзакций
- использование асинронных запросов
- виртуализация на всех уровнях. Приложения, например, взаимодействуют с некоторой логической базой данных, которая отдельным образом отображается на конкретную систему в конфигураторе. Это явно привнесено под воздействием J2EE
- развитый кэш

Полезный материал.

3 comments:

Anonymous said...

> Это явно привнесено под воздействием J2EE

Внутри ибея есть разные легенды (их рассказывают новым сотрудникам). Так вот по легенде -- первую версию основатель написал за длинные выходные (дня за три, значит) на перле для своей жены, чтобы она могла в формате аукциона торговать "куклами" (хобби у неё такое было). Вторую писал на си другой человек (не помню имени), уехав в горы без телефона, чтобы не отвлекали. Третья: к началу 2004-го года была переписана на J2EE почти вся функциональность (кроме некоторого back-end-а, типа анализа логов), и её больше двух лет писало человек 400 в San Jose и ещё около 600 контракторов-индусов.

Тестированием нас там занималось больше ста человек. Некоторое их подмножество видно на team-building type тусовке на пляже в Санта Крузе у меня вот тут.

Anonymous said...

А про scalability: довелось однажды побывать в одном из хостинг-центров ибея в Sunnyvale. Это такое здание площадью с половину футбольного поля, заставленное, как в библиотеке, стеллажами/стойками с серверами, и некоторые стойки ещё пусты -- туда периодически вставляют новые компьютеры (типа pizza-box). В нашем присутствии завезли и собирались подключать очередную тележку. Не помню уже точных цифр, но что-то тогда поразило воображение -- типа: все эти компьютеры потребляют 2.5 мегаватта электричества, а кондиционеры и стоящие на полу здоровые вентиляторы, которые гоняют воздух между стеллажами, -- ещё 3.5МВт.

Anonymous said...

В первом комментарии несколько слово пропустил:
"Вторую версию за две недели написал на си..." и далее по тексту.