А кто сказал, что у нас запросы выполняются последовательно? Если действительно есть необходимость и есть возможность, то запросы идут параллельно. Так что я бы не утверждал, что на пользовательский запрос требуется 30 последовательных запросов по внутренней инфраструктуре.
Данные естественно кешируются — от экранных портлетов до конкретных сущностей. Попадание в кеш >75%. К примеру кластер кеша метаинформации по фотографии работает 130000/5833 запросов/сек. (где 5833 запроса в базу за недостающими данными).
Используется long polling. На серверной стороне любой компонент системы может узнать online пользователь или нет и на каком из web сервере открыто его соединений. Так что при необходимости любой компонент может отправить нотификию пользователю в открытое соединение.
Это только запросы со стороны конечного пользователя. Сереверов много для обеспечения работы разных сервисов/компонентов. Если интересны данные по запросам по всем серверам, то такое тоже есть — Прошелся по серверам EJB/Cache/SQL/BDB/WEB/Remote Service/Components и получилос 5'026'666 запросов/сек в час пик. На сервер получается ~2000 запросов/сек в час пик.
Серверов много, так что данные примерные. Есть опасения, что что-то мог упустить.
Так-же и разброс на количеству запросов на тип сервера тоже большой. К примеру на граф приходится ~16K запросов.
Да. Все удаление происходит через некоторое время. На каждый тип данных создаем задачи на удаление, которые ваполнятся в будещем. В конечном итоге для удаленной сущности произойдет удаление всех данных относящихся к удаленному объекту.
Пропускаем очередь через Berkeley DB — QUEUE. Далее есть кластер java серверов для обработки заданий. На каждом из этих java серверов запущено N потоков. Каждый поток обрабатывает свою партицию из очереди.
Это ведь просто пример, что для сбора статистики просто делаем 1,2,3.
Данные естественно кешируются — от экранных портлетов до конкретных сущностей. Попадание в кеш >75%. К примеру кластер кеша метаинформации по фотографии работает 130000/5833 запросов/сек. (где 5833 запроса в базу за недостающими данными).
SQL — сами пользователи, группы.
BerkeleyDB — фотографии, система сообщений, новостная лента.
Серверов много, так что данные примерные. Есть опасения, что что-то мог упустить.
Так-же и разброс на количеству запросов на тип сервера тоже большой. К примеру на граф приходится ~16K запросов.