Size: a a a

Microsoft Azure Developers (Russian User Group)

2017 October 03

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
в целом, внешние очереди более mature technology
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
другое дело что акторы уже под капотом имеют очереди
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
и по-хорошему, они могут решить проблему сложности кода - вместо паттерна поставил в очередь, кто-то забрал и обработал у вас ясный и понятный - акторпрокси.вызовметодаактора
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Eugene Agafonov
вы описываете решение которое вы придумали. А неплохо бы начать с проблемы, которую нужно решить
Проблема - построение микросервисной архитектуры в ажуре =) Решение с сервисбасом на практике и в теории проигрывает локальным очередям
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Но локальные очереди конечно же ненадежные и их надо персиситить
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Вот и хочется понять какое же хорошее решение использовать
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
Вроде как это не проблема. Не видно бизнес значения. Что касается вывода, то он тоже очень спорный - я делал решения и с сервисбасом, и просто с Azure Queues и все было хорошо. Другой вопрос, что я не делал сферическую архитектуру в вакууме, а решал некую бизнес-задачу
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
Очередей много разных, в service fabric можно хоть rabbitmq запустить, и использовать
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Они все равно будут не локальные =) Я имею ввиду совсем локальные, на той же машине чтобы лейтенси уменьшить) Сколько у вас с сервисбасом средняя лейтенси и RPS?
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
я что-то не понимаю ) вы хотите чтобы на каждой машине было по локальной очереди, но чтобы одновременно она была с общим стейтом? :) и вас напрягает latency 10-50ms на сетевой вызов внутри локального кластера SF?
То что делал я не упиралось в латентность очереди, но из важных метрик которые помню навскидку, 2000 одновременно загруженных jpg обрабатывалось за 2-3 минуты
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Eugene Agafonov
я что-то не понимаю ) вы хотите чтобы на каждой машине было по локальной очереди, но чтобы одновременно она была с общим стейтом? :) и вас напрягает latency 10-50ms на сетевой вызов внутри локального кластера SF?
То что делал я не упиралось в латентность очереди, но из важных метрик которые помню навскидку, 2000 одновременно загруженных jpg обрабатывалось за 2-3 минуты
Да, внутри кластера не напрягает, но c ASB это же уже не локальный кластер или как-то можно его туда поместить? Общий стейт не нужен, нужны акторы с доступом только ко своим очередям
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
просто вызывайте актор через прокси, вызов будет сделан через внутренний механизм с очередями
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
ASB нет, а rabbitmq можно сделать guest exe сервисом и положить в тот же кластер
источник

EA

Eugene Agafonov in Microsoft Azure Developers (Russian User Group)
но если какой-то воркфлоу упирается в латентность сетевого вызова к очереди, нужно бы провалидировать дизайн :) кажется что очереди применяются как раз тогда когда время обработки задачи на несколько порядков выше взятия задачи из очереди
источник

AK

Aleksander Khanteev in Microsoft Azure Developers (Russian User Group)
Vladimir Shchur
Хочется сделать модель микросервисов-акторов с персистент входящими очередями
А почему сразу не взять Azure Service Fabric?
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Eugene Agafonov
просто вызывайте актор через прокси, вызов будет сделан через внутренний механизм с очередями
звучит очень неплохо, не подскажете ссылку почитать? хочется же все сделать надежно, чтобы сообщене не удалилось если актор упал, а также иметь возможность просматривать очередь
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Eugene Agafonov
но если какой-то воркфлоу упирается в латентность сетевого вызова к очереди, нужно бы провалидировать дизайн :) кажется что очереди применяются как раз тогда когда время обработки задачи на несколько порядков выше взятия задачи из очереди
пока ничего еще не упирается, просто страшно юзать ASB когда на тестах лейтенси больше секунды)
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Aleksander Khanteev
А почему сразу не взять Azure Service Fabric?
про него и речь)
источник

AK

Aleksander Khanteev in Microsoft Azure Developers (Russian User Group)
Точно :) просто увидел где-то там раньше про функции)
источник

VS

Vladimir Shchur in Microsoft Azure Developers (Russian User Group)
Да, на функциях это у меня лейтенси больше секунды выходит, на фабрике не проверял
источник