Рет қаралды 98
Использование потоков данных, особенно потоков данных с заранее неизвестным объемом, например генерящихся на лету требует особого обращения в асинхронных системах. Одна из наиболее часто возникающих проблем - это несоответсвие пропускных способностей поставщика данных и его потребителя. Если поставщик данных в единицу времени производит данных меньше, чем потребитель обрабатывает, то увеличивается время обработки данных, возможен простой ресурсов. Если поставщик данных производит данных больше, чем способен обработать потребитель, то потребитель должен каким-то образом буферизовать поступающие данные, что в общем случае может привести к переполнению буферов. Основная задача Reactive Streams в общем и Akka streams в частности заключается в управлении обменом данных в границах передачи элементов между нитями(threads) или пулами нитей(thread-pools). В ходе доклада будут показаны результаты исследовательских изысканий автора относительно набора инструментов 'Akka streams'.