Saturday, June 07, 2008

Архитектура LinkedIn

Интересная подборка презентаций по архитектуре LinkedIn: как показывать 40 миллионов страниц в день на Tomcat. Что интересно - есть еще и исторический разрез: как проект менялся с ростом числа пользователей. Некоторые заметки о текущем состоянии:

- весь граф связей кэширован в оперативной памяти (это 22M узлов и 120M ребер - 12 Gb памяти)
- сам кэш реализован на C++, остальные Java приложения обращаются к нему через JNI. Причина - сборщик мусора в Java, который занимал много ресурсов на таком громадном числе объектов
- коммуникационные сервисы основаны на JMS
- используют старый трюк с BLOB (CBLOB) полями: заменили их на строки VARCHAR(4000). И только если строка переполняется - заводят CBLOB. Это отменяет большой процент дорогих, с точки зрения реализации, операций с CBLOB (до 90% по их оценкам)

No comments: