Size: a a a

2021 June 24

W

Warstone in Modern::Perl
Там 3хзвенка получилась. микро-микросервис, микросервис-агрегатор, микросервис-процессор результатов, он-же запросник.
источник

W

Warstone in Modern::Perl
А асинк на микро-микросервисе нужен если туда ходят больше одного (чего сейчас нету, но потом может быть при развитии архитектуры).
источник

YK

Yegor K in Modern::Perl
смахивает на оверинжиниринг - как понимаю затея в том чтобы  ускорить отдачу при том что ресурсов хватает, а если в микросервис будет ходить несколько, то время ожидания увеличится, ну и введение среднего звена тоже скорости не добавит
источник

W

Warstone in Modern::Perl
Нет. Там у человека проблема в том что если тупо все положить в память и сделать дофига процессов, то память кончится. Он хотел побить по блокам, чтобы больше утилизировать процессор (параллельный поиск и вот это все).
источник

W

Warstone in Modern::Perl
Ну и нагрузка у него там есть довольно большая.
источник

W

Warstone in Modern::Perl
Так что тачек возможно надо больше одной (не возможно, а даже, скорее всего).
источник

YK

Yegor K in Modern::Perl
вроде он выше писал, что основная идея расшардить фильтрацию на 10 и радоваться если упадут с 40мс до 15
источник

W

Warstone in Modern::Perl
Ну он не может запустить просто 10 инстансов. Памяти мало.
источник

YK

Yegor K in Modern::Perl
юзать mmap, или, да, несколько серверов
ну и сдаётся, что если в памяти процессов микросервиса хранить только данные для фильтрации, то всё там будет ок
источник

W

Warstone in Modern::Perl
Там фильтруется по всем параметрам объекта.... Короче хитрожопость не проходит.
источник

W

Warstone in Modern::Perl
А так он просто начинает больше использовать CPU.
источник

W

Warstone in Modern::Perl
Так что да, разбитие на шарды и параллельный поиск - наше все.
источник
2021 June 25

YK

Yegor K in Modern::Perl
он как раз хотел ускориться за счёт cpu
в плане памяти тут конечно надо узнать у топик-стартера, но
скажем 100 полей по 100 байт на 10000 сущностей ~ 100mb, если хотят ускориться 10х, то на одной тачке с 80 cpu будет ~ 72 микросервиса и 7 web-воркеров
72*100 ~ 8Гб, должно хватить )
источник

W

Warstone in Modern::Perl
Короче, насколько я его понял ему подходит этот вариант, он к тому-же еще и горизонтально масштабируемый (до определенных пределов), понятно куда двигаться дальше для ускорения, ужатия по памяти, если надо и т.д.
источник

W

Warstone in Modern::Perl
Причем в конце мы немного отыграли назад в угоду управляемости процессом. Так что... Если хочется подробностей - идите к нему работать )))
источник

И

Игорь in Modern::Perl
Кто-нибудь знает как можно из пакетов в $deb обратиться не дописывая $main?

index.pl
#!/usr/bin/perl

use strict;
use warnings;
use A;

our $deb = 'test';
...

A.pm
use strict;
use warnings;
use B;

print $main::deb;

B.pm
use strict;
use warnings;

print $main::deb;

Мне казалось, что когда-то такое встречал, но не могу вспомнить, что нужно сделать чтобы сразу $deb писать в пакетах. Или так нельзя и  я перегрелся?))
источник

P

Pavel in Modern::Perl
а почему $main:deb, а не $A::deb ?
источник

P

Pavel in Modern::Perl
а блин вижу
источник

P

Pavel in Modern::Perl
но что-то мне кажется этого лучше даже не хотеть делать
источник

И

Игорь in Modern::Perl
Это не на прод, это отладка.
источник