В 90% случаев "движки" лепят только потому, что это позволяет взять с заказчика больше бабла. Маленькие-средние проекты часто вообще не имеют динамического содержимого.
Да и большие тоже, имеют его немного.
Говоря о статике, речь разумеется о том, что отдается вебсервером.
Исходники для этого как правило состоят из шаблонов, содержимого, и скрипта сборки.
Но тут надо думать, головою. Что ныне непопулярно.
Поэтому проще накатать CMS и пусть будет так, как получилось.
Т.е. косячат даже и не франчайзи, а основные структуры :) ?
У вас единая с 1С архитектура ?
У вас ешоп написан на 1с ?
О какой единой архитектуре можно говорить, когда действующий бизнес как правило
УЖЕ имеет свою бухгалтерию и свой склад. И переписывать это всё ради интернет-магазина
немножко безумная идея. В любом случае "пристыковывать сбоку".
Я чем дальше, тем меньше понимаю, что у вас делает интернет-магазин, если бухгалтерию
и склад ведет что-то еще.
Для чего кроме выборок по параметрам вы используете базу данных именно в интернет-магазине ?
Что в ней вообще хранится и зачем ?
Это ведь отдельный сервер у вас с отдельной БД ?
Вы эээ... в интернет-магазин через эксель что-ли данные вставляете ?
Зачем ? Я когда пользовался коробкой генерировал просто SQL-скрипт, который вставлял в базу
всё, что нужно, если этого немного то еще и в одну транзакцию.
Ума не приложу, зачем может мальчик с экселем понадобиться.
Да а гдеж других кроме коробочных взять.
Самопис от дяди васи еще хуже... самопис под заказ = чумовые убытки.
Особенно если писать толстый бэкэнд, вместо тонкого фронтэнда.
Ммм... всё никак не запущу нагрузочное тестирование именно генерации... подозреваю ждать надо будет 1-2с на каждые 1000 страниц. Да, вы правильно заметили - я сам своим "кешем" управляю. Тогда, когда надо. А когда не надо, тогда не управляю.
А толку-то... сервис при этом работать перестает.
У вас закрыты части магазина для пользователей капчей или таймаутом :) ?
И эээ... получается продавать что-то ?
А у меня всё в кеше.
К счастью, в моей реальности не требуется искать по 100к товарам.
Было бы нужно, скорее всего забрал бы всё в память и отдавал неким демоном.
Хотя поиск - это одна из очень немногих задач, где с БД можно получить хоть какой-то выхлоп.
И то, если очень аккуратно себя вести.
Угу... я тоже так думал, ровно до момента когда яндекс пришел.
Причем ни до, ни после проблем с Crawl-delay не было, боты из сетей яндекса итп.
Тогда не очень понятно зачем вы "слили" кучу времени на свой "толстый бэкэнд", если ничего
кроме обслуживания веб-запросов пользователей он не делает. Я-то грешным делом думал,
что вы ратуете за единую ИТ-инфраструктуру в рамках которой вы не только интернет-магазин,
но и все остальные задачи пусть убого, но решаете (как это пытаются делать коробочные
варианты).
А это не я. Вы возьмите из топ 10 коробочных движков и увидите сами что и как работает.
Нет, от них можно "отпилить ножовкой" лишнее, но я уже теперь выкинул всё целиком.
Считаете, что не загнетесь от 5 запросов в секунду ?
Сколько ботов надо, чтобы это было похоже на действия пользователей ?
Скажем бот раз в 30с будет что-нибудь выбирать.... 30*4... 120 штук всего ?
И это правда крутое достижение ?
Да с чего бы она будет одинаковая. Не будет. Что-то вы сможете закешировать,
что-то нет. Да и размер кеша не бесконечен.
Однако, если большинство данных у вас не меняется, то непонятно зачем вы забираете
их из базы и кешируете :). Понимаете :) ? Чем лучше вам помогает кеш, тем менее
вам вообще БД нужна. Чем больше она реально нужна, тем меньше пользы от кеша.
Отключать на ходу что-ли будете ?
Да хоть трижды-выделенный сервер. К вам когда-нибудь DDOS приходил ?
Хоть раз ? От школьника с 1000 проксями хотяб. И не такой, который просто льёт флуд.
Вы баните пользователей запрашивающих страницы чаще чем раз в 10 секунд ?
Really ?!?!?!
Или вы на дебилов рассчитываете, которые будут от вас одно и тоже забирать.
К вам никогда не приходил я.бот ? С ним бывает иногда, когда он "бесится" и приходит
сразу штук 50 пауков забирая тысячи страниц в минуту. Очень знаете-ли позволяет
переосмыслить тонкие места...
Скажите, а когда я буду долбить ваш интернет-магазин, то ваша бухгалтерия и склад
будут насколько хорошо себя чувствовать ? Учитывая, что я долблю ваш "толстый бэкэнд"
прямо из интернета. Не пугает перспектива какого-нибудь 29 декабря, в пик продаж,
оказаться без склада потому, что пришел небольшой такой ДДОС. Причем без склада для
оффлайн продаж....
Честно - проблемы тех, у кого толстый бэкэнд (не дай бог еще и написан на php и лежит в сети) меня ммм... не очень беспокоят. Они уже давно на пути к банкротству, думаю в этот кризис их смоет окончательно.
Я понимаю, что вы открыли для себя ООП, полиморфизм и MVC. К слову, я уже лет 15 назад пользовался лично сделанными костылями, реализующими те самые MVC, просто без умных книжек, да и не только я. Что бизнес-логика должна быть отделена от представления - это всё придумали черт знает когда. А аналог смарти у меня был самолично написан еще тогда, когда некоторые пользователи получали www-странички заказывая их запакованными по email :).
Так что в целом вы правы, описанное вами - это всё 10-летней давности всё.
Именно поэтому у меня всё отделено :).
Понимаете ? Нет никакого толстого бэкэнда, есть тонкий бэкэнд и тонкое представление его в интернете в виде "интернет-магазина". MVC в чистом виде в общем-то. Просто на более глобальном уровне. При этом интерфейс бэкэнд - магазин очень и очень узкий.
И чтобы там не делали с магазином, бэкэнду на это пофиг, склад не встанет из-за того,
что какой-нибудь дебил в админке добавит пару неиндексируемых полей в базу на 40гб.
И магазин, кстати тоже, не падает чтоб с бэкэндом не сделали.
И, собственно, этот бэкэнд есть как правило в любой компании.
У всех есть склад, бухгалтерия итп. И им абсолютно не нужны никакие ВАШИ фреймворки, потому как они хотят использовать СВОИ, бухгалтерию вам не написать хоть тресни, склад можно конечно, тикет-системы есть неплохие готовые и как правило требуют только доточки, итд итп.
Идея, что вы построите людям всю инфраструктуру для бизнеса хороша (для вас, ибо больше работы - больше бабла). Но только пока речь идет о салоне по продаже авто, где вся инфраструктура... с гулькин нос её. Если задача среднего или не дай бог крупного размера, то шансов на то, что вы справитесь нету. Интеграторы не зря берут в этом случае миллионы евро.
Невозможно автоматизировать бизнес-процессы на коленке. Для этого надо перекроить половину бизнеса. И для того, чтобы привинтить интернет к имеющемуся бизнесу на это никто не пойдет.
Да это и не нужно. Для создания интернет-магазина всё это не нужно.
Для создания магазина - необходимо, но интернет тут непричем абсолютно.
Вы эээ... на борту первый день что-ли ?
Никаких универсальных архитектур не бывает. Это рассказки для акционеров.
Любая архитектура - это ограничения, и чем больше аспектов она охватывает тем
ограничений больше и запас гибкости меньше. Собственно нужна она только для того,
чтобы не разрабатывать самому, если ваша задача идеально на чужое ложится.
Собственно лейбмотив топика был именно в этом, нет смысла делать что-то
никому ненужное и универсальное. Это попросту не нужно. Даже использовать
это эффективно невозможно. Если изменятся требования, то безусловно надо
будет провести РАБОТУ и что-то ПЕРЕДЕЛАТЬ.
О ужас... переделать что-то при изменении тз. Какая неожиданность :) ?
Вся разница в том, придется ли вам переделывать в "тонком" магазине МАЛО,
или в бесполезно толстом ОЧЕНЬ МНОГО. Безусловно в толстом магазине что-то
можно переделать путем нажатия кнопок в админке, однако как правило это
всё работает неоптимальным и не всегда ожидаемым образом. Так что лучше...
поправить в коде прям... ей богу. Да, квалификация для этого как-бы больше
нужна, но это только видимость. Т.е. "тупой нанятый казачок" не сможет поправить
в коде, зато сможет так поправить в админке, что лучше бы он не поправлял вовсе,
именно после него появятся поиски по полям без индекса в гигабайтных базах
и прочее веселье. Дураков нельзя подпускать даже к админке.
Конечно, если вы дорожите проектом. Если вы обслуживаете клиентов по принципу
"чем дешевле, тем лучше", то это путь не для вас, вам наоборот нужен битрикс и
парочка дебилов к нему для того, чтобы потом с чистым сердцем переводить людей
на другие тарифы хостинга...
ЗЫ. А как вообще народ с ДДОСом борется ? Я что-то смотрю, имея пару десятков
тысяч наименований можно секунд по 5 страницы генерить.
Этож достаточно сотни атакующих, чтобы так этим делом сервак занять, что он
"лопнет" и при свободных внешних каналах. И никакой кеш не поможет, если
опрашивать разные урлы. Да даже 0.5с на страницу - это 120 атакующих в минуту,
которые устроят "веселье".
Ну зависит от того, показываете-ли вы цену.
Наличие я показывать смысла не вижу, да это цинично, но лучше пускай закажут того,
чего нет, из этого тоже можно выжать бабки.
А цену как-то придется.
Другое дело, что в задачах у меня не стоит игры с ценами на том уровне, когда люди
меняют их по 10 раз на дню, для моей задачи цены вообще подозреваю меняться не будут...
Если бы пришлось делать что-то такое в "тонком" интернет-магазине яб сделал выгрузку
из бизнес-части только нужного, т.е. только цен... и брал бы только скорректированную
цену аяксом к примеру (хотя тут есть о чём подумать). Вообще было-бы неплохо иметь
какой-нибудь плагин к нгиксу, а еще лучше демона держащего все цены в памяти
и выдающего их по запросу. (а не заниматься каждый раз инициализацией миллиона
скриптов и бесконечными выборками из БД по одной штуке). Можно, наверное, загнать
это всё в мемкеш кстати.... думать короче надо :).
А никто и не пилит.
Лично я пилю не феррари, лично я пилю утюг - мне гладить надо.
А мне предлагают "коробки" в которых то феррари, то запорожец, то трактор.
Утюгов там нету.
Причем мой утюг неэлектрический, он на печке греется.
Таковы потребности конкретного потребителя.
Понимаете идею ?
У потребителя всегда очень скромные реальные потребности,
у вас есть два пути
1. Пытаться добиться от феррари, чтобы она начала снег сгребать,
при этом вам, возможно придется дизассемблировать прошивку бортового
компьютера, который не захочет долго ехать с маленькой скоростью итп
Ничего себе так работенка, да ? И гарантию на неё вы конечно можете
предоставить... что всё там правильно в "кишках" модифицируете...
2. Сделать устройство из двух лопат и газонокосилки, которое будет
гарантированно сгребать снег так, как вам того надо.
При моём подходе - будет надо регененировать кеш.
Однако как по мне, так это ГРОМАДНЫЙ плюс, огроменный просто.
Я регенерирую кеш тогда, когда мне надо, а не когда страницы запрашиваются.
Боты приходят на уже закешированные страницы и не ждут первой их сборки.
Да и регенерация без миллионов запросов в БД занимает очень мало ресурсов.
Учитывая то, что регененируется всё из 1 скрипта, я могу себе позволить многие
вещи делать пакетно и еще больше ресурсов сэкономить.
Попробую на днях забить всё мусором и посмотреть сколько времени будет
тыщ 100 товаров регененироваться.
РАБОТАЕТ или числится ?
Ну т.е. пришел, попил чаю, чёй-то поделал - ушел. Это нифига не тоже самое, что с колесами 480 минут в день корячиться...
Т.е. если вам нужна массовка - её можно нанять по 10к, но вот будут ли эти люди что-то делать кроме просиживания попами стульев ?