Drupal как high load основа для платформы

10
Drupal как HighLoad основа для платформы о теории со ссылками на примеры Drupal Сamp Minsk 2014

description

Drupal как highload основа для платформы, о теории со ссылками на примеры. Drupal Сamp Minsk 2014

Transcript of Drupal как high load основа для платформы

Page 1: Drupal как high load основа для платформы

Drupal как HighLoad основа для платформы

о теории со ссылками на примеры

Drupal Сamp Minsk 2014

Page 2: Drupal как high load основа для платформы

Drupal как framework и варианты (Brook framework (FreePascal) vs

Phalcon vs Drupal)● Красивый и удобный

интерфейс с возможностью изменения

● Лёгкость создания Landing page

● Кэширование страниц

● Быстрота расширения визуальной части

● Интеграция со сторониими сервисами для обмена информацией

● Brook framework: http://silvioprog.github.io/brookframework/. Меньший расход памяти. Но если мы только отображаем данные, то экономия не велика.

● Phalcon: http://phalconphp.com/ru/. Быстрее PHP, но не на столько удобней как Drupal.

● Drupal + PHP 5.5 + OPcache

Page 3: Drupal как high load основа для платформы

Drupal как framework и варианты (Brook framework (FreePascal) vs

Phalcon vs Drupal)

Page 4: Drupal как high load основа для платформы

Своё хранилище данных

● HighLoad любит хостинг с SSD.

● Сервисы ОС считают статистику, а Drupal выводит.

● Для быстрого отображения данных пользователю мы используем своё хранилище. Чем хороша своя entity — всё в одной таблице, что исключает JOINы.

● Нет отдельных записей о ревизиях.

● Интеграция с Views.

● Entity cache + Memcache API and Integration или Redis и пусть Ваш кэш материалов живёт в памяти сервера а не на диске.

● Создание простейшего модуля управления данными с помощью Entity API: http://xandeadx.ru/blog/drupal/352

Page 5: Drupal как high load основа для платформы

Допиливаем Views и VBO● Добавление своей таблицы в качестве поля во Views: http://drupalace.ru/lesson/dobavlenie-svoey-tablicy-v-kachestve-polya-vo-views

● Программное изменение запроса к базе данных во Views: http://drupalace.ru/lesson/programmnoe-izmenenie-zaprosa-k-baze-dannyh-vo-views

● Обработка большого количества данных с помощью Batch API:http://drupalace.ru/lesson/obrabotka-bolshogo-kolichestva-dannyh-s-pomoshchyu-batch-api

● Как с помощью VBO сгенерировать пользователям новый пароль и отправить его на почту: http://xandeadx.ru/blog/drupal/552

● Темизация Views из админки: http://xandeadx.ru/blog/drupal/168

● Как добавить html код после определённого числа строк в представлении Views: http://xandeadx.ru/blog/drupal/356

● Preprocess функции для представлений Views: http://xandeadx.ru/blog/drupal/414

Page 6: Drupal как high load основа для платформы

С интерфейсом закончили, узнаём откуда в него попадают данные

Page 7: Drupal как high load основа для платформы

МагияMongoDB => Entity => Views => Panels => Features => Panopoly.

Читаем на http://habrahabr.ru/:● MongoDB для подсчета статистики● MongoDB: слишком много полей для индексации? Используйте общий индекс перевод ● Простая методика построения фильтров товаров с помощью MongoDb и MapReduce● Map-Reduce на примере MongoDB

Не MongoDB едины читаем на http://habrahabr.ru/:● Как устроена apache cassandra ● Асинхронный Php extension для работы с бд Cassandra без Thrift● Переходим от MongoDB Full Text к ElasticSearch● ElasticSearch 1.0 — новые возможности аналитики● Считаем в Elasticsearch (http://websearchblog.ru/)

Page 8: Drupal как high load основа для платформы

Секреты магии

● Из интерфейса сайта вносятся давнные в MySQL

● По Cron скрипт создаёт задания для новых данных в RabbitMQ

● RabbitMQ развёрнут на нескольких серверах

● Роботы на ReactPHP / C++ / C# получают задания из RabbitMQ и парсят... в 100 и более потоков...

● Результаты сохраняются в Cassandra

● Hadoop обрабатывает данные из Cassandra и сохраняет результат в Mongo DB

● Из MongoDB данные попадают на сайт

Page 9: Drupal как high load основа для платформы

FormAPI, Ctools, AngularJS и генераторы данных

Page 10: Drupal как high load основа для платформы

Итоги реализации и работы большого сервиса

● Участвовал в реализации порядка 6 крупных сервисов связанных с рекламой и автоматизацией

● SEO, RTB, Отчётность для CRM, автоматизация контекстной и таргетинговой рекламы, банерокрутилки

● В самом крупном проекте уже более 40 серверов трудятся на благо заказчика

● HighLoad, это не дорого, это кропотливо...

● Нужна помощь или есть вопросы: [email protected] - всегда отвечу, я или мои девушки из поддержки ;)