Павел
Писать логику хранения и извлечения, с учетом того, как потом копировать если краш.
The Ant
s3 может и собственной реализацией быть. Это ж протокол.
The Ant
Писать логику хранения и извлечения, с учетом того, как потом копировать если краш.
Ну вот с этим сложно. Много мелких директорий это очень больно Взять даже тот же rm -rf кеш симфы, заметно по времени удаляет. Хотя там файлов не так чтобы много
Apxat
Да особо проблем нет, просто не нужно копировать файлы по сети если много мелких файлов
Apxat
Мы для бекапа используем restic
Apxat
Но картинки это большие файлы у нас больше 100 тысяч sku проблем не было
Apxat
Для реалтайм копирования мы используем syncthing
Apxat
Хеш файл это ещё своего рода защита, мы используем два подхода. Если важна скорость то nginx отдает напрямую, и хеш это небольшая защита. Мы так же отдаем файлы через php если нужно контролировать права доступа.
Михаил
Хеш файл это ещё своего рода защита, мы используем два подхода. Если важна скорость то nginx отдает напрямую, и хеш это небольшая защита. Мы так же отдаем файлы через php если нужно контролировать права доступа.
https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/ Хммм, а вот это оптимизирует ваш флоу? То есть перед тем, как отдать картинку nginx сделает быстрый запрос на бек на права и если может - вернёт контент Я никогда не использовал auth_request - но если ты проресерчишь, то может это оптимизирует вашу отдачу
Apxat
да сейчас особых проблем нет, ограничения на файлы не такая частая история для нас, поэтому не так критично есть тот же openresty, там многое можно делать на самом nginx через lua
Михаил
Ну просто я к тому, чтобы всё свести к общему случаю. Когда nginx отдаёт файлы
Apxat
да у нас там все на ходу лепится, лишь бы работало -) поэтому не запариваются ни на чем -) а сейчас тем более уже интернет магазины помирают и все уходит в сторону маркетплейсов -)
Михаил
Ну смотри. А то на ходу пилится, а потому будущем поколениям с этим жить)
Apxat
я и есть будущее поколение и для этого проекта похоже последнее -) проекту уже наверно больше 10 лет
Apxat
https://habr.com/ru/articles/321864/ но на nginx реально оказывается можно прикольные вещи делать
Apxat
а вот еще прикольный чел тесты производительности делает на ютубе
Apxat
https://www.youtube.com/watch?v=42RNqGdpELE&t=632s
Apxat
там у него много разных
Михаил
ха, я когда-то начал смотреть этот видос, но не досмотрел из-за акцента)
Apxat
да но это не особо мешает как по мне -)
Apxat
интересно сколько симфони держит нагрузку в базовой конфигурации при например авторизации https://www.youtube.com/watch?v=Qp9SOOtgmS4&t=614s судя по этому видео полноценный фреймворк ruby on rails 1200 примерно запросов в секунду, я так полагаю, симфони будет примерно в этом диапазоне -)
Apxat
да я в курсе, рнр тоже так можно сделать, но это конечно уже не симфони история
Apxat
https://www.youtube.com/watch?v=17BqoNEQKTM
Apxat
все равному мне кажется впервую очередь все упирается в базу
Apxat
мне казалось что https://frankenphp.dev/docs/ ближе к симфони -)
Михаил
учти что рельсы в режиме долгожевущего приложения работают
смотрел какой-то там бенчмарк php с rr или swoole работают на уровне гошного приложения
Kirill
да что угодно хорошо с симфой работает, ему ж плевать на рантайм
Павел
мне казалось что https://frankenphp.dev/docs/ ближе к симфони -)
КТо нить вообще эту штуку в проде юзал, сравнивал с РР? вроде дает жару по тестам, какую то статью на хабре читал с тестами
Aleksandr Khristenko
да я в курсе, рнр тоже так можно сделать, но это конечно уже не симфони история
Почему? В ней есть Reset интерфейс как раз для такого выполнения.
Aleksandr Khristenko
смотрел какой-то там бенчмарк php с rr или swoole работают на уровне гошного приложения
А вот под свуль надо по другому код писать, симфония там уже не особо будет работать. Но есть hyperf.
Aleksandr Khristenko
Так работает же всё И свуль и рр с симфой
Ну в том режиме, в котором работает симфа оно получается не используется почти возможности свуля. Т.е. там тоже остается модель один поток - один запрос одновременно. А сам по себе свуль может работать как го, т.е. один поток несколько запросов.
Михаил
В любом случае демонизировать симфу и убрать kernel time это уже хорошо.
Aleksandr Khristenko
В любом случае демонизировать симфу и убрать kernel time это уже хорошо.
Ну просто если цель такая, то можно просто взять rr/frankenphp
Pavel
Думаю liip не будет работать с S3, но автору вроде и не нужно
Liip отлично работает с Flysystem, а значит и с s3
Юра
Ну просто у него смысл что он берет файлч применяет к нему фильтры, сохраняет в кеш результирующий файл. Не понимаю как оно будет работать с s3
Юра
Будет по апи доставать и класть файлы?
Vlad
Во всяком случае есть вот такая штукня https://github.com/imgproxy/imgproxy
Михаил
какие фильтры?
Речь скорее всего о s3://
Maks
Речь скорее всего о s3://
https://symfony.com/bundles/LiipImagineBundle/current/filters.html
Vlad
@Cawa87
Dimk_O
Коллеги всем привет, стоит задача интеграции апишек от нескольких провайдеров, у каждого провайдера своя дока и своя структура данных, нужно унифицировать их и создавать свое апи со своей ценовой политикой, как это можно сделать правильно? Еще очень важный аспект, могут быть дубли в названиях, но немного по разному написаны, если реально как то это отследить
Юра
Ты бот что-ли?
Михаил
Ты бот что-ли?
Не, он просто про паттерн «стратегия» не знает
Dmitriy
tagged iterator посмотри
Dimk_O
tagged iterator посмотри
Наверное тут лучше и правда будет использовать паттерн стратегии
Dmitriy
https://dev.to/altesack/strategy-pattern-in-symfony-4o9h
Юра
По-моему это больше паттерн адаптер, а не стратегия
Юра
Создаёшь какой-то свой интерфейс, и пишешь адаптеры для разных провайдеров
Nikolay
По-моему это больше паттерн адаптер, а не стратегия
Адаптер + стратегия для выбора провайдера
Михаил
По-моему это больше паттерн адаптер, а не стратегия
создаёшь некий общий флоу, если в этом общем флоу есть девиации для отдельного провайдера - добавляешь методы стратегии. Попытка "унификации" скорее всего приведёт к краху. А вот отталкиваться от флоу и закрывать подробности реализации в стратегию конкретного провайдера - гораздо более гибкий подход
Михаил
Ну и да, "стратегия по работе с провайдером" может показаться адаптером - но это ложное ощущение.
The Ant
Для разных провайдеров не пойдет
Дамир Хайбулин
Поэтому я всегда рекомендую лара-программистам оставаться на ларке. Мир симфони жесток и беспощаден (если не знать про php конфиги)
Ну я слышал,что у лары ядро не шибко быстрое, поэтому под крупные проекты не подойдёт в каких-то случаях. Лара при установке сразу очень много пакетов может установить, а симфа может только самое необходимое установить, а остальное по необходимости можно добавить. Плюс как я слышал симфа куда более мощный инструмент,чем Лара. Судить правильно не могу, поскольку вышесказанное больше написано по тому,что я слышал, но объективно хз. Сам я ларавельщик
Дамир Хайбулин
А у меня новая работа только на симфе. Поэтому придется:)
Kirill
астрологи объявляют неделю постов "а как же в ларке офигенно сделана ХХХ хрень")))
Kirill
но вообще обычно ломка пол года+ после ларки
Kirill
а потом наступает дзен
Дамир Хайбулин
уважаемые эксперты, я правильно понял что вся валиадция у нас в entity
Для изучения я устанавливал демо симфони проект. Там именно так. Плюс в доке тоже так написано. Честно говоря тут мне Лара больше нравится,что валидацию с реквкстов можно в отдельные файлы и классы пихать. Хотя хз, может быть валидация и в симфони есть отдельная в классах и файлах
Kirill
А потом уже открывается дока https://symfony.com/doc/current/validation.html#the-basics-of-validation , читается и обнаруживается, что валидацию можно вешать на что угодно, хоть на классы вендоров
Дамир Хайбулин
Я хотел подучить ddd, даже купил книжку прочитал одну главу и она все еще лежит), надо снова попробовать начать, а так для не больших проектах думаю обходиться без ддд
Сколько сайтов создал, ещё ни разу не применял ддд. Из других вариантов пробовал для себя микросервисную архитектуру. Но в коммерческих проектах ни разу. Ни один паттерн не является серебряной пулей
Kirill
как жаль что DDD - это не паттерн)))
Kirill
оцените пожалуйста мою токсичность по шкале от 1 до 10)
Дамир Хайбулин
Kirill
Архитектура
и не архитектура)
Nikolay
Архитектура
Это просто набор принципов