_SP_, Я с вами полностью согласен, только что вы вкладываете в понятие ИМ тогда? каталог товаров только? Так это называется интернет витрина так то.
Давайте банальный кейс. У вас есть бонусная система и система скидок и промокоды, какие то скидки суммируются, какие то нет. Например как вы покажете конечную цену пользователю с его персональной скидкой + по промокоду?
Можно запрашивать извне на каждом хите пользователя, но это долго, проще тянуть у себя настроив систему скидок на своей стороне, в файле будет искать сложно, у нас порядка 600 правил. Хотя есть и внешняя бонуская система в которой заведены всё такие же правила и туда стучатся например наши офлайн кассы, но в оффлайн кассах не столько пользователей, сколько у нас в ИМ в единицу времени.
А еще например вот остатки, у нас заказы в сутки исчисляются тысячами и есть такая проблема, если в ИМ отключить остатки и оставить только проверку на стороне мастер системы, то я уверен мы на продаем товара, которого просто нет на складе, а товар у нас такой, что его невозможно до произвести и если он закончился то не появится уже никогда (скорее всего).
И у тех 99% магазинов про которые вы говорите, есть своя бизнес логика, только вы её вынесли в понятие "Моя система <-> ИМ", а так то обычно все что вы выносите из ИМ, можно так то оставить и внутри ИМ, что большинство и делает.
А ваш инженер будет работать круглосуточно, без больничных и отпусков? А если он вдруг решит сменить компанию? То есть вам уже нужно как минимум 2 инженера.... работать с аутсорсом нужно уметь, тут как SaaS, чуть дороже, но снимает кучу лишней нагрузки с тебя. По этому как правило аутсорсят частями, например у нас свой штат разработки, но есть задачи которые мы отдаем на аутсорс, так как это нам дешевле, чем отнимать время наших инженеров. Я уверен что даже такие IT компании как яндекс и мейл отдают какие то задачи на аутсорс.
К сожалению так в любой сфере, специалистов стало найти достаточно сложно.
На самом то деле аутсорс можно и нужно совмещать, то есть иметь и свой штат, который сможет как минимум контролировать и прособеседовать тот же аутсорс и работать с ними эффективно. Ведь аутсорс он на то и аутсорс чтобы привлекать в тот момент, когда оно требуется. А если требуется сотрудник 24\7 то свой тогда конечно же выгоднее.... местами и не всегда, но как правило выгоднее, но и не факт что будет лучше/опытнее
мы в продакшене используем на хорошей такой нагрузке для php 7 расширение что выше сказали https://github.com/tideways/php-xhprof-extension
Ставится и собирается вот так https://tideways.com/profiler/xhprof-for-php7
в репозитории много чего может не быть и это не показатель =)) работает хорошо и стабильно и помогает искать места где проседает работа интерпритатора и понятно что и где дебажить, а не пальцем в небо. Используем его так как xdebug (тоже умеет такое) сильно тяжелый для продакшена, но можно подебажить им на дев сервере.
Для примера, на дев сервере все работало очень быстро, а на проде отрабатывало за 10 секунд, то есть на деве ошибка не проявилась и дебажить было нечего, а на проде показало что 10 секунд отрабатывает session_start()
Поставьте xhprof и посмотрите что и сколько вызывается и сколько отрабатывает, а дальше уже решайте свой вопрос исходя из проблемы.
Если бы кто то умудрился прочитать хоть раз название темы, то оно звучит как ...попадают в поиск
Метрика не подставляет, метрика добавляет страницы на индексацию и именно так они попадают в поиск. Именно это написано в предложении которое ты цитируешь. Но вспомним выше, ты же не читатель.
Идем в доку яндекса: https://yandex.ru/support/webmaster/indexing-options/link-metrica.html
Ранее эта настройка была в самой метрике, а делает она вот что, открываешь адрес страницы, а там метрика и адрес залетает роботу на индексацию. Заметил эту тему когда робот начал показывать 404 страницы при обходе урлов доступных только админу (тестовых, с тестовыми параметрами).
_SP_, Для ИМ задач на самом деле там много:
1. В системе хранения скорее всего учет не тот, что есть на сайте (Например на сайте продаются компьютеры, а в системе учета все по комплектующим, то есть в момент синхронизации заказов, компьютеры надо разбить на комплектующие)
2. Список пользователей и работа с ними, где покупателей хранить?
3. Любой внешний обмен на запросе пользователя это смерть ИМ, по этому все обмены вынесены с запросов юзеров, например надо быть дебилом чтобы отправлять смс юзеру, ведь гетвей может подвиснуть на 30 секунд и юзер будет ждать загрузки страницы 30 секунд.
4. Никакая система учета не выдержит той нагрузки что выдерживают ИМ.
5. Надо вести учет, статистику и аналитику.
6. Надо обогащать данные карточек товаров.
7.Нужно строить связи для доп и крос продаж.
8. В конце концов транзакции в ИМ нужны не только для остатка в учете но и для резервации товара, консистентных изменений в учетных данных юзеров и так далее.
Я не говорю что какой то классический простой ИМ нельзя построить чисто на статике - можно. Но это сильно сложнее с хотелками в екоммерсе. А вот построить простой сайт на статике, фф цмс и прочих простых инструментов на мой взгял решение идеальное. Практически все что делается на ВП например, можно запилить в виде статики, с шаблонизаторами на JS и компиляцией ноды, чтоб на выходе был чистенький код, залить его на cdn и получать максимальные скорости, которые невозможно положить никаким ддосом и прочими активностями.
Это ты мне лучше расскажи, как вирус на компьютере секретаря ООО Рога И Копыта, могут сломать сайт через админку? Или у секретаря есть доступ к серверу? Мои клиенты не ходят по фтп, не меняют днс, они ко мне приходят так как сами занимаются абсолютно другим бизнесом и для работы с сайтом они нанимают специального человека - меня. Всякие мамкины бизнесмены мои услуги просто не потянут, да и не работают они с теми технологиями с которыми работаю я - по этому мне с ними просто негде пересечься от слова совсем.
Возможность допускаю, они же на шареде, работоспособность которого от меня не зависит абсолютно никак, если люди приходят ко мне за работоспособностью то я строю такую систему, на которую я могу повлиять, в случае единственного шареда я повлиять ни на что не могу, по этому и допускаю возможность. В твоем случае, даже простоя то никакого не будет, переводишь заранее домен на DNS бегета, настраиваешь на старый хост, переносишь сайт, проверяешь что все работает, меняешь А запись на бегетовскую, запускаешь перевыпуск сертификата, максимум что имеешь это рабочий сайт на протоколе http минут 15... ночью.... я хз что у тебя за клиенты которые по трое суток могут пропадать, и которым так критично все эта канитель.
Я не работаю с вордпресом, у меня нет таких клиентов и быть не может по определению.
А кто сказал что я допускаю простой? Я сказал что это не критично. Просто любой хостер падает, даже амазон, если у тебя нет репликации, балансировщика, failover ip и прочих вещей, то ты потенциально допускаешь простой клиентских сайтов, а если ты их кладешь на шаред который в любой момент может стать недоступен, то говорить о простое ну просто смешно.
Проблемы высосанные с пальца, но да, имитация деятельности она такая. Я скажу больше, у нас проект, с тысячами заказов в сутки, и да, мы вполне себе можем позволить провести нагрузочное тестирование на бою ночью прикладывая сервер продакшена перед очередной акцией - и это не проблема, для сайта с нашим оборотом и сотнями тысяч клиентов, а для 100 ч/день проблема? Не смеши, стань серьезнее уже, хотя видимо 100 ч/день это уже достаточно крупные проекты для тебя, которым нельзя допустить простоя ни на одну минуту, даже если владелец на трое суток выпадает из жизни когда он по факту нужен.
Что конкретно делает этот код? Это асинхронный приемщик запросов на fasthttp и отдающий результаты куда то дальше?
Как это зависит от языка? Вот сейчас одна контора ищет фулстек девелопера php+js стек, $140к в год - это много/мало на ваш взгляд? Все зависит от поставленных задач и их решения, у нас на php все тоже самое используется и ничего - не страдаем. А где там в го ОРМ уровня доктрины? Нормальные фреймворки где можно напилить нормально бизнес логики которую можно будет поддерживать в дальнейшем? DDD может быть? Го это к микросервисам и только, только микросервисная архитектура это далеко не для каждого проекта. По этому го как правило используют в связки с чем то еше, переписывая на нем какие то критичные участки системы вынося их в микросервис. Или например если нужно юзать какие то системные сишные либы. Очень часто встречаю стек php+go сейчас.
Я знаю крутых сишников в том числе и с плюсами, программирующих серьезное оборудование с зарплатой чуть больше 30к деревянных. Как язык программирования влияет на стек используемых технологий или заработную плату? Попасть на крутой проект будучи php программером сильно проще, чем на чем либо другом.---------- Добавлено 09.01.2020 в 18:24 ----------
Не совсем так, любым серверным программированием. Можно заниматься и бэкендом для игр и бэкендом для роботов пылесосов... и в принципе сейчас очень много что есть в сети, и каждому такому сетевому клиенту нужен бэкенд и его вполне можно запилить на php в том числе.
Да вот тут плюсую, пхп хорошо стартанул и начал внедрять множество новых фишек приближая его к вполне взрослым языкам, плюс прилично повысил производительность.