Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Мастер-класс по Highload: Разработка крупного масштабируемого web 2.0 проекта с нуля (https://javascript.ru/forum/server/13134-master-klass-po-highload-razrabotka-krupnogo-masshtabiruemogo-web-2-0-proekta-s-nulya.html)

[DiMA] 17.11.2010 15:03

> Я пишу CMS

Смысл моего доклада объяснить, что ООП и конкретный функционал вашего проекта не играет никакой роли. В мире делают очень много фреймворков, где играются с ООП (программирование ради программирования). Я же пропагандирую мысль, что нужно думать о другом. А именно, как устроить архитектуру проекта. Как из обычных инструментов mysql+memcache+redis родить нечто новое, благодаря совершенно иным паттернам программирования/архитектуры (не путайте с ООП).

Если вам не интересно это, вы хотите делать CMS и прочие традиционные бизнес-задачи, то мой доклад вам в этих задачах не поможет.

На 10.000 юзеров заботится о масштабировании не нужно. Обычный программист без проблем все сделает. Порог роста, после которого все загнется, где-то от 50.000 до 250.000 пользователей.

Но все же, освоить масштабирование и применять его даже в мелких проекта - это не так сложно/накладно, как кажется. Хотя некоторые программисты, чуть ли не со слезами на глазах пытаются доказать, что это все туфта, когда я их учу работать по другому. А уж какой вой в хабре поднимится от хомячков, когда туда статью зальют... Боюсь даже подумать. Программисты меняются на глазах за 3-6 месяцев, как только масштабирование осваивают. Это типичный антипаттерн "боюсь освоить новое". И обратно в традиционному программированию уже никто не вернется, это как наркотик и темная сторона силы =)

Gozar 17.11.2010 15:09

удалено.

Gozar 17.11.2010 15:16

удалено.

[DiMA] 17.11.2010 15:24

Я упомянул ООП для сравнения. Сейчас в среде программистов считается очень крутым поговорить об особенностях известных фреймворках. Устроить дебаты академиков - какой из них лучше.

Это все - несущественные вопросы.

Лет 20 назад торжествовал процедурный подход в программировании. Его сменило объектно-ориентированное. Сейчас наступает новая эра. Не знаю, как ее назвать, но суть ее - как хранить данные, ибо их много и только от этого зависит успех проекта. Именно этому я и учу. Это даже не совсем программирование.

Применить знания можно на любом хостинге с шеллом, где вы сможете лично запустить пару интансов мемкеша, редиса и прочего.

monolithed 17.11.2010 15:39

Честно не знаю что бы я делал если трафик на моем проекте превысил бы порог посещаемости в 50к :)
И мне на самом деле очень интересно что в этих случаях бывает, понятно что менять архитектуру, использовать кеширование, нормализировать базу, провести рефакторинг кода при не обходимости и отказаться от MySQL (причем в связи с последними событиями) но это только предположения основанные личном опыте и статьях хабра...

доп. а есть ли у вас в планах записать выступление, а то не все в СПб живут?

Gozar 17.11.2010 16:00

удалено.

monolithed 17.11.2010 16:27

Теперь в MySQL Classic Edition нет поддержки InnoDB (дополнительно $2000!)

А следовательно менее эффективное: использование CPU, автоматическое восстановление после сбоев, отсутствие построчных блокировок, внешних ключей, транзакций и пр.

Gozar 17.11.2010 17:34

удалено.

monolithed 17.11.2010 17:59

InnoDB более развита

Цитата:

Сообщение от Gozar
вы используете InnoDB и у вас будут проблемы если не будет InnoDB?

лично у меня да и даже очень. Однако на простеньких проектах где сделал сайт и забыл вполне подойдет MyISAM.

Но на серьезных проектах MyISAM я бы не рекомендовал использовать, потому что есть ряд существенных недостатков:
- отсутствие самовосстановления по журналу при сбоях
- отсутствие блокировок регионов, меньших, чем целые таблицы
- отсутствие средств резервного копирования (на пример mysqldump)
- для каждой таблицы создается один файл данных

[DiMA] 17.11.2010 19:18

Попробуйте ExtraDB. Это тот же бесплатный innodb, только от другой компании (Перкона и Гугл). Работает в разы быстрее. По слухам... мы еще не применяли, но думаем попробовать.


Часовой пояс GMT +3, время: 21:17.