Понятие высоконагруженных компьютерных систем. Традиционные качества, интерактивность, распределенная система, большое количество пользователей. Распределение задач сервером. Балансировка нагрузки. Исследование высоконагруженных систем Google и Вконтакте.
Исследование высоконагруженных компьютерных систем Обозначения и сокращения Web 2.0 методика проектирования систем, путем учета сетевых взаимодействий NoSQL not only SQL - ряд подходов, направленных на реализацию хранилищ баз данных БД база данных HTML HyperText Markup Language Nginx веб-сервер get($key); id (!$data) { $data = db->query($sql); cache->set($key, $data) } 2.2.1.4 Кэширование блоков Многие современные фреймворки осуществляют кэширование блоками. В частности в nginx используется следующий подход: - общий HTML собирается как ssi; - каждый блок вызывает не тяжелый php скрипт, который формирует HTML; - после отработки скрипт кладется c некоторым ключом в memcache; - при обращении на внутренний url, который указан в шаблоне-сборщике (ssi шаблоне), идет обращение к модулю ngx_http_memcached. Обычно кэшируют домашнюю страницу (index.html) и статические наиболее часто запрашиваемые страницы. 2.3 Распараллеливание задач Отдача контента в HighLoad проектах сводится к задаче как можно быстрее отдать. Либо раскидать поиск данных по нескольким машинам, если многочисленные данные у нас распределены по нескольким серверам. 2.3.1 Поиск MapReduce Для поиска в распределенных хранилищах данных используется технология от Google для обработки больших массивов данных MapReduce. Единственным таким, имплементированным на данный момент, протоколом является HTTP.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы