Основная причина перегрева заключается в том что были соединены алюминиевые провода с медными внутри WAGO. Для таких соединений у тех же WAGO существуют специальные соединители с пастой. Так что WAGO тут не при чём. А паста необходима для того, чтобы снять образовавшиеся окислы и создать пленку изолирующую алюминий от кислорода в будущем. Окислы нарушают контакт между проводниками, вследствие чего провода начинают греться и гореть в месте соединения. Можно, как вариант, заполнить отверстие WAGO 222 пастой, но лучше воспользоваться специальными решениями. Ну и насчёт экономии на проводке… сгоревшая квартира сильно дороже ударит по карману, чем замененная проводки, со всеми накладными расходами вместе.
Кстати, при соединении алюминия в «ОРЕХе» тоже нужна паста иначе результат со временем будет тот же что и с WAGO'м
Я бы понял ещё, если бы вы предлагали использовать «Lumen», но, в случае с phalcon, моё субъективное мнение — его использование не оправдано. В особенности, после перехода на php 7.x.
И да, пожалуй, у нас большой опыт работы с Phalcon, т.к. и Крыша и Колёса на данный момент работают именно на нём. В работе с Phalcon есть свои имнусы и свои плюсы, обсуждение которых выходит за рамки представленной статьи, и чаще всего упирается в личные предпочтения отдельно взятого разработчика.
Бэкенды реализованы в виртуалках: 2 горшка на 1ГБ ОЗУ
Запросы — около 5000 запросов/секунду
Это я говорю про запросы, которые поступают от пользователя на просмотр сайта и от мобильных приложений, далее все это умножается на количество сервисов которые мы подтягиваем для показа страницы. И получаются достаточно большие цифры. В сервис автокредита отдельно нагрузка порядка 1000 запросов/секунду.
Не phalcon потому, что смысла в нём нет никакого в данном конкретном случае. Смысл разворачивать такую махину и не пользоваться практически ни чем из его инструментария. Не Laravel потому, что на тот момент казалось, что на Yii это будет реализовано быстрее, хотя это и не факт)
На сегодняшний день в команде автокредита 6 человек: 4 фулл-стек разработчика, тестировщик и менеджер)
Про Yii:
1. Версия Yii2
2. Темплейтами не пользуемся у нас прямая конвертация ответа в JSON
3.
Толстые контроллеры, толстые модели, или сервисный слой
— Стараемся Делать контроллеры тонкими, максимально сократить код в экшенах и размазать по моделям и сервисам
4. Фикстуры не используются
По тестированию — встроеный codeception для юнитов и Newman для функциональных.
В момент сохранения объявления нам нужно понять доступно ли оно будет в кредит и на каких условиях. Мы идём в микросервис и узнаём доступен ли и какой минимальный ежемесячный платёж и сохраняем это вместе с объявлением. Благодаря этому пользователи могут фильтровать в посике машины доступные в кредит и по размеру ежемесячного платежа.
В момент когда вы открываете объявление и у нас не оказывается в кэше калькулятора для него мы идем в микросервис. В момент когда вы меняете первоначальный взнос мы тоже идём в микросервис
В момент когда формируется заявка и мы ещё раз проверяем правильно ли указаны условия которые указал пользователь
Количество заявок != количество просмотров кредитного калькулятора и рассчётов.
У нас, в среднем 45 000 уникальных поситителей одновременно онлайн, в час пик бывает больше! Каждый из них генерирует множество запросов: 6 показов объявлений из 10 включают в себя работу с кредитным калькулятором, и, как следствие, с нашей системой.
В то же время, заявка это уже непосредственно само обращение человека в систему скоринга, когда человек выбрал авто и решился на кредит.
Прошу прощения, если не оправдал ваше ожидание по highload, мы стремимся к лучшему!
Возможно мы друг друга недопонимаем, но никто не мешает с локального агента выливать хоть на сто хостов. Не вижу принципиальной разницы между локальным и удаленным агентом. Причем лить можно как напрямую (scp), так и через «голден-севрер» с которым просто синхранизируются dev-сервера.
В статье есть яркий пример с использование докера, можно посмотреть в его сторону, если вопрос в наличии софта на локальной машине. Если же вопрос в разделении задач по хостам, смысл тащить файлы для деплоя с локального агента на другой хост, чтобы оттуда все равно вылить на финальный хост.
Но локальный агент в этот момент всё равно будет занят, а так-то конечно, никто не мешает ходить по ssh на другой хост, а оттуда на другой, а оттуда еще на другой… вот только зачем? Если вопрос в том, что не хочется весь необходимый софт держать на машине с bamboo, тогда уж не проще ли делать что-либо в докер контейнере, который можно запускать локально или вынести вообще в swarm или kubernetes?
Мы немного отдаляемся от темы публикации, но в вашем случае всё зависит именно от типа подписки Bamboo. Запускать таски на удаленных агентах при локальной подписке, увы, не получится.
К сожалению, не могу подсказать какой-то специализированной литературы по Atlassian Bamboo, помимо официальной документации (тут).
В общих чертах суть достаточно проста: «Bamboo позволяет переложить все те таски, которые вы выполняете вручную, на шаблон автоматизации».
Для начала следует разбить все действия которые вы совершаете для ручной сборки, тестирования и деплоя на отдельные таски, и сгруппировать их по назначению. Далее, совместно с документацией, можно уже поработать над их реализацией. Всё не так сложно, как кажется на первый взгляд.
Не было ли проблем при обновлении зависимостей и библиотек под php 7.1? И хотелось бы подробнее про docker-контейнер для автотестов! Статья супер! Спасибо!