@prophp7

Страница 1320 из 1387
Maksim
05.10.2018
10:52:49
В 99,9999% случаев, если воркеры хэндлят хттп, то это сраный треш.

Я саксесс стори не видел ещё

%
05.10.2018
10:54:36
да это второй вопрос. хотелось бы не супервизорское решение для процессов.

Google
Maksim
05.10.2018
10:54:50
У тебя каша в бошке

В которой всё перемешалось

Max
05.10.2018
10:55:07
вообще не понимаю зачем в контейнер супервизор ставить

Sergey
05.10.2018
10:56:35
Как зачем, что бы юзать контейнер как виртуалку

%
05.10.2018
10:56:55
какую виртуалку?

Vitaliy
05.10.2018
10:57:21
не до конца формулировал, вопрос про управление процессом. и как раз нужно поднимать в докере, но супервизор это демон...
докер сам умеет рестартить твой воркер. поэтому удобно делать каждый воркер как отдельный контейнер

%
05.10.2018
10:57:44
супервизор главный принцип докера нарушает, однако его рекомендуют ставить для запуска воркеров, к примеру

Max
05.10.2018
10:58:06
%
05.10.2018
10:58:14
попробую сейчас

зачем, если 1 воркер = 1 контейнер ?
а не лишнее? если можно управлять процессами внутри контейнера взависимости от ситуации?

Google
Sergey
05.10.2018
10:59:37
Есть ситуации когда рестарт воркера штука частая и не хочется накладных расходов на рестарт контейнера, но это не решение основной проблемы

контейнер != виртуалка
Ну то есть я угадал, занятно)

Vitaliy
05.10.2018
11:00:12
что проще, управлять только контейнерами или управлять и контейнерами и еще и процессами внутри?

%
05.10.2018
11:00:37
нет. ничего не стоит

Anton
05.10.2018
11:00:50
Рр может гонять и без хттп

Но чисто как супервизор он бессмысленнен

Для Джобов на нем есть отдельный пакет

Sergey
05.10.2018
11:01:52
короч - контейнеры это про изоляцию процессов (групп процессов, как например php-fpm со своими воркерами). Это не про виртуалки

Anton
05.10.2018
11:02:05
Хотя вообще можно и супервизор, но смысла не вижу

Sergey
05.10.2018
11:02:27
ну и в целом системе плевать 1 контейнер и 10 процессов внутри (11 если с супервизором) или 10 контейнеров

есть конечно накладные расходы по памяти но они столь незначительны что ими можно пренебречь

но в целом все намного проще когда один "сервис" - один контейнер. Их проще потом скейлить, реплецировать, масштабировать, раскидывать по сервакам

%
05.10.2018
11:04:18
но не могу разобраться как правильно запускать процессы для обработки чего-либо. дело не в производительности или еще чем-то, а в не понимании темы вообще. действительно каша...

Anton
05.10.2018
11:04:26
Зато можно через него очередь балансить, на гошке общаться с брокером а на пхп выполнять

Пример есть в spiral/jobs, но он ещё не релизнут до стабильной версии

Google
%
05.10.2018
11:05:04
спасибо! йоу!

Anton
05.10.2018
11:05:23
Докер тебе не будет балансировать сообщения, только сами контейнеры

%
05.10.2018
11:05:26
swarm в рамках одной машины уже не работает по-моему

Max
05.10.2018
11:06:30
Докер тебе не будет балансировать сообщения, только сами контейнеры
эм, он балансирует консюмеров, причем тут сообщения

Anton
05.10.2018
11:07:41
Он балансирует контейнеры с консюмерами, но у тебя же не по одному консюмеру в контейнере, на них тоже нужно раскидывать сообщения

Sergey
05.10.2018
11:08:09
Докер тебе не будет балансировать сообщения, только сами контейнеры
ты можешь настроить автоскейлинг на метрики длины очереди

%
05.10.2018
11:08:36
Покажи кто такое рекомендует
https://laravel.com/docs/5.7/queues#supervisor-configuration

Anton
05.10.2018
11:09:02
Консьюмер = 1 воркер?

Sergey
05.10.2018
11:09:11
Консьюмер = 1 воркер?
почему нет, зависит от задачи

может быть 10 консюмеров - 10 контейнеров. или 100

можно роутить сообщения по топикам

%
05.10.2018
11:10:04
не вижу ничего про докер
вот собственно теперь про докер. я запускаю контейнер с коммандой "php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3" все? верно?

Sergey
05.10.2018
11:10:28
я может быть плохо понимаю о чем ты, но как по мне "отдельная тула которая там чето маршрутизирует" хотя твой брокер и так в состоянии это делать обычно... мне кажется это излишним

%
05.10.2018
11:10:54
ну это понятно

спасибо.

Sergey
05.10.2018
11:11:09
> sleep=3

а это че?

Google
Anton
05.10.2018
11:11:39
Мы кажется о разном говорим) у меня в докере 1 консьюмер, но Джобы у него выполняют несколько воркеров

f4rt~
05.10.2018
11:11:39
а это че?
Worker Sleep Duration When jobs are available on the queue, the worker will keep processing jobs with no delay in between them. However, the sleep option determines how long (in seconds) the worker will "sleep" if there are no new jobs available. While sleeping, the worker will not process any new jobs - the jobs will be processed after the worker wakes up again.

ларка чо уж

Anton
05.10.2018
11:11:43
Классический пул

Max
05.10.2018
11:11:47
> sleep=3
задержка между каждым сообщением

Anton
05.10.2018
11:12:45
а смысл?
А смысл тогда вообще в многопоточности?)

1 родитель и несколько воркеров в зависимости от задачи

Sergey
05.10.2018
11:13:09
А зачем мне многопоточность для воркеров?) мне многопроцессовоть там нужна

%
05.10.2018
11:13:16
всякое видел что супервизор внутри контейнера поднимали))
https://github.com/bscheshirwork/docker-yii2-app-advanced-redis/blob/master/docs/about-supervisor.md

Anton
05.10.2018
11:13:42
Да блин) воркер = процесс)

Sergey
05.10.2018
11:14:01
и контейнер = процесс, вот же совпадение

Max
05.10.2018
11:14:17
Anton
05.10.2018
11:14:48
Только по ресурсам скейтся оно по разному

Sergey
05.10.2018
11:14:49
Да блин) воркер = процесс)
проблема в том что если у тебя процессы скейлятся внутри контейнера - сложнее управлять ресурсами. Ну то есть пропадает часть выгоды контейнеров. А если у тебя скейлятся контейнеры - можно более грамотно автоскейлингом рулить

Anton
05.10.2018
11:14:50
Совсем

Google
Max
05.10.2018
11:14:57
https://github.com/bscheshirwork/docker-yii2-app-advanced-redis/blob/master/docs/about-supervisor.md
ну это так себе затея, когда у тебя есть инструмент из коробки

Sergey
05.10.2018
11:15:09
Dmitry
05.10.2018
11:15:16
смысл есть если балансировать задачи по корутинам эффективнее, чем по процессам

Sergey
05.10.2018
11:15:29
треды тут нужны что бы пул корутин раскидывать по ядрам эффективно

Anton
05.10.2018
11:15:57
Я не говорю скейлить кол-во процессов в контейнере )

Dmitry
05.10.2018
11:16:02
ну корутины могут использовать треды

Anton
05.10.2018
11:16:07
Это глупо да

Но зачем в 1 контейнере гонять 1 процесс?)

Sergey
05.10.2018
11:16:32
Anton
05.10.2018
11:16:37
Ээээ

Неправда

Sergey
05.10.2018
11:16:44
что не правда?)

Maksim
05.10.2018
11:16:47
за тем же, зачем ставить между кроликом и пхп ещё проксю в виде го)

Sergey
05.10.2018
11:16:48
давай конкретику

Dmitry
05.10.2018
11:16:53
чтобы балансировать между нодами эффективно

Sergey
05.10.2018
11:17:05
чтобы балансировать между нодами эффективно
для этого не нужна прослойка на го

Anton
05.10.2018
11:17:06
Ну ок, у тебя контейнеры не бесплатные, верно?₽

Sergey
05.10.2018
11:17:34
Ну ок, у тебя контейнеры не бесплатные, верно?₽
я могу пренебречь их стоимостью (или стоимостью мастер ноды которая занимается распределением ресурсов - она всеравно будет)

Maksim
05.10.2018
11:17:41
для этого не нужна прослойка на го
я до сих пор не очень осознаю, зачем она в принципе нужна. если за роадраннер вопросов 0, то вот сие - хз даже. не могу понять :(

Dmitry
05.10.2018
11:17:47
для этого не нужна прослойка на го
я про "зачем контейнер на процесс"

Страница 1320 из 1387