Size: a a a

Dart & Flutter по-русски

2020 May 18

IL

Ihor Levchenko in Dart & Flutter по-русски
Мне просто интересно чем аргументируется вот такой подход.
Я конечно догадывался.. ибо тогда как бы он в js с потоками то компилировался
источник

M

Max in Dart & Flutter по-русски
Совместный доступ к памяти - это очень глубокая кроличья нора. Инструмент мощный, но чертовски опасный. Неисчерпаемый источник неожиданных багов. Часто - багов, приводящих к уязвимостям.
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Но иногда это нужно.
Ну вот как минимум общий синглтон который есть коннектом к БД.
Вот как теперь с этим быть ))
источник

M

Max in Dart & Flutter по-русски
Изолирующая многозадачность намного проще и безопаснее. При том, что обеспечивает вполне достаточную для большинства сценариев мощность
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Я надеялся что авось сюда завезли что то вроде Горутин
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Или каналов, или ещё какой то хитрый механизм ))
источник

M

Max in Dart & Flutter по-русски
Ihor Levchenko
Но иногда это нужно.
Ну вот как минимум общий синглтон который есть коннектом к БД.
Вот как теперь с этим быть ))
А почему и не иметь отдельный инстанс в каждом потоке? Доступ же всё равно асинхронный
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
А как тут эти изоляты организованы под капотом?
Оно поднимает новый инстанс виртуалки как в ноде, или как то попроще ?
Хотя ивент луп же будет новый в новом потоке..
источник

M

Max in Dart & Flutter по-русски
Да, в каждом изоляте свой ивент-луп
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Max
А почему и не иметь отдельный инстанс в каждом потоке? Доступ же всё равно асинхронный
Ну допустим у меня орм, 100 ентити и столько же репозиториев.
Соответственно для каждого изолята мне надо инициировать целый комбайн
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Выделение памяти, инстанциирование... Куча времени и ресурсов
источник

M

Max in Dart & Flutter по-русски
Ihor Levchenko
Ну допустим у меня орм, 100 ентити и столько же репозиториев.
Соответственно для каждого изолята мне надо инициировать целый комбайн
Не звучит проблемой. Отдельный вопрос - нужен ли доступ из одного сервиса ко всем?
источник

M

Max in Dart & Flutter по-русски
Я бы, разумеется, что для Ноды, что для Дарта на сервере рекомендовал микросервисную архитектуру
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Max
Я бы, разумеется, что для Ноды, что для Дарта на сервере рекомендовал микросервисную архитектуру
++++++
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Ваще никаких проблем
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Связывай все брокером и масштабируй хоть до бесконечности
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Max
Я бы, разумеется, что для Ноды, что для Дарта на сервере рекомендовал микросервисную архитектуру
Это само собой
У меня проблема в том что есть много математики.
На ноде считать ее... Свои нюансы из-за специфического number.
Но считается то она синхронно и тяжело.

И вот в этом случае идеально отдавать на определенные запросы отдельный поток, и пускай он там мапит данные и считает, не блокируя основной поток приложения
источник

M

Max in Dart & Flutter по-русски
Ihor Levchenko
Это само собой
У меня проблема в том что есть много математики.
На ноде считать ее... Свои нюансы из-за специфического number.
Но считается то она синхронно и тяжело.

И вот в этом случае идеально отдавать на определенные запросы отдельный поток, и пускай он там мапит данные и считает, не блокируя основной поток приложения
Идеальная задача для изолята
источник

IL

Ihor Levchenko in Dart & Flutter по-русски
Мне интересно, а изолят легче ли чем воркер у ноды?
источник

M

Max in Dart & Flutter по-русски
Мессаджем отдаёшь запрос, изолят считает, мессаджем отдаёт ответ.
источник