Size: a a a

Ваdоо PHP Мееtuр

2020 May 31

СА

Сергей Аксёнов... in Ваdоо PHP Мееtuр
Максим
Полностью с Вами соглашусь! Я очень хорошо понимаю что такое микросервисы и какой это труд, сколько времени. Именно поэтому изначально буду делать монолит, но монолит будет с хорошей архитектурой. Разделённый на ограниченные контексты. Чаще всего ограниченные контексты и выделяются в микросервисы. Поэтому сказал о них. Мне в дальнейшем будет достаточно просто(и не просто) выпилить их из монолита. Да и многие советуют поступать именно так. Выделять микросервисы из монолита. Так как архитектура может много раз разменяться и переноситься из контекста в контекст. А с микросервисами это очень сложно.
Я целиком и полностью за чистый код, чистую модульную архитектуру, SOLID и DDD. Но я уверен, что при хорошем проектировании и реализации вам не понадобится ничего распиливать. У нас в iFunny PHP-монолит на 500 kLOC обслуживает что-то типа 15 миллионов пользователей в месяц, 2 миллиона онлайн в пиковые часы. В сервисы вынесены только инфраструктурные куски: рассылка push-уведомлений, сбор и агрегация аналитики и т.п.
источник

М

Максим in Ваdоо PHP Мееtuр
Сергей Аксёнов
Сам я социальщик, идея соревнований, оценок и рейтингов мне глубоко не по нраву)
Соревнования у нас лишь одна часть системы. С этого все начнётся) Дальше у нас ещё есть идеи на этот счёт. То есть для нас эта система конкурсов не сама цель. Это то, без чего мы не можем, но это не Core)
источник

М

Максим in Ваdоо PHP Мееtuр
Сергей Аксёнов
Я целиком и полностью за чистый код, чистую модульную архитектуру, SOLID и DDD. Но я уверен, что при хорошем проектировании и реализации вам не понадобится ничего распиливать. У нас в iFunny PHP-монолит на 500 kLOC обслуживает что-то типа 15 миллионов пользователей в месяц, 2 миллиона онлайн в пиковые часы. В сервисы вынесены только инфраструктурные куски: рассылка push-уведомлений, сбор и агрегация аналитики и т.п.
Вот и я об этом. У нас пока таких цифр не планируется. Но позаботиться об архитектуре очень правильно и важно. Конечно, я буду делать по всем канонам DDD, CQRS используя Docker и так далее)

Основная победив это в правильности разделения ограниченных контекстов и связанности пользователей. Так если на примере танцев один и тот же человек может быть в разных контекстах разной роли. Где-то он танцор, где-то преподаватель, где-то судья, где-то оргкомитет. Дублировать везде ФИО дату рождения и все подобное - сложно, но хорошо. Делать без разделения контекстов - ещё больше проблем. Связанность не только в базе, но и коде. Поэтому и думаю как развязать узлы до старта работы.
источник

М

Максим in Ваdоо PHP Мееtuр
У меня на старте будет вынесено тоже не много. Например, рассылка, уведомления и сервис работы с видео. Они достаточно потребляемые. Возможно какие-то не сразу. А может перед первой версией что-то вынесется. Надо тестировать. Так не сказать. Но разделение на контексты позволит сделать это копипастой. А если будет сильная связь - риски возрастают.
источник
2020 June 01

AV

Artem Volt in Ваdоо PHP Мееtuр
Anton Povarov
если пакетов нет - смотрим, что с сетью. если есть - посмотрим на отчеты
Видимо это день боли. Думал, что на маке будет разработка приятнее и круче. Вроде так и вышло, но у докера в маке есть какие-то баги с сетью. Пакеты не долетают в контейнер пинбы. Эх, все таки если фигачить, то на линуксе.
источник

ДК

Дмитрий Красноруцкий... in Ваdоо PHP Мееtuр
Уверены что дело в маке? я себе ставил все ок было
источник

ДК

Дмитрий Красноруцкий... in Ваdоо PHP Мееtuр
Artem Volt
Видимо это день боли. Думал, что на маке будет разработка приятнее и круче. Вроде так и вышло, но у докера в маке есть какие-то баги с сетью. Пакеты не долетают в контейнер пинбы. Эх, все таки если фигачить, то на линуксе.
уверены что порты проброшены верно в контейнер?
источник

AV

Artem Volt in Ваdоо PHP Мееtuр
Дмитрий Красноруцкий
Уверены что дело в маке? я себе ставил все ок было
Значит не так приготовил
источник

AV

Artem Volt in Ваdоо PHP Мееtuр
Вроде уверен.
В docker-compose
Ports: "3302:3302/udp"
источник

AV

Artem Volt in Ваdоо PHP Мееtuр
Все, вопрос снят. Пакеты пошли :)
источник

ДК

Дмитрий Красноруцкий... in Ваdоо PHP Мееtuр
что было?)
источник

AV

Artem Volt in Ваdоо PHP Мееtuр
Не так слал пакеты ♿
источник
2020 June 02

AP

Anton Povarov in Ваdоо PHP Мееtuр
Ок, обаращайтесь если что :)
источник

AP

Anton Povarov in Ваdоо PHP Мееtuр
Особенно интересно - если у вас есть нетривиальная нагрузка какая-то. Ну типа порядка миллионов таймеров в секунду совокупно на инстанс или отчеты с очень большим количеством строк (миллион+).
источник

AP

Anton Povarov in Ваdоо PHP Мееtuр
Мы периодически страдаем там на селектах из больших отчетов, есть пара идей по оптимизации, но было бы интересно еще real world кейсы собрать в дополнение к нашим.
источник

AP

Anton Povarov in Ваdоо PHP Мееtuр
Или, если вам нужны отчеты с большим окном аггрегации, кстати (вместо дефолтовой минуты).
источник

Shahzad شهزاد in Ваdоо PHP Мееtuр
источник
2020 June 04

АК

Антон Кучерявый... in Ваdоо PHP Мееtuр
А подскажите, пожалуйста, как лучше настроить PHP_CodeSniffer.
Чтобы он запускал автоисправление или разработчики при коммите получали ошибки и сами исправляли?
Есть ли какие-то значительные плюсы у вариантов или просто дело "вкуса"?
источник

SP

Sergey Popov in Ваdоо PHP Мееtuр
Тут все просто - SH скрипт на precommit-хук
источник

SP

Sergey Popov in Ваdоо PHP Мееtuр
Причем я бы сделал это и локально у разработчиков, и в пайплайне у гита
источник