2016-05-16 3 views
2

Когда я начинаю изучать обработку потоковой передачи, я слышу следующие два технических вопроса: обработка потоковой обработки с учетом состояния и обработка потоков без апатии, в чем разница между ними? Я слышал, что шторм является апатридом, а штормовой трезубец - это состояние, поэтому на практике, где использовать шторм и где использовать штормовой трезубец?Обработка потоковой обработки с использованием stateful и stateless

ответ

6

Разница между этими двумя, на очень высоком уровне, в той операции, которую вы должны выполнять на них.

Некоторые операции являются лицами без гражданства, то есть вы обрабатываете запись за раз. Подумайте о банке, который обрабатывает поток клиентов, по одному за раз. Каждый клиент является новой единицей работы, которая не зависит от предыдущей.

Операция с состоянием - это как наем нового сотрудника. У вас есть поток людей, приходящих на собеседование, но если вы их нанимаете или нет, зависит от вашего штата, то есть, какие позиции у вас открыты.

Например, предположим, что вы обрабатываете веб-журналы. Если вы хотите узнать, сколько пользователей просматривает страницу в секунду, ваша обработка равна почти stateless: каждую секунду вы вычисляете, сколько пользователей приходило на страницу. Каждой новой секунде, вы не заботитесь о результате предыдущей секунды. Это операция без гражданства.

Предположим, что вместо этого вы хотите рассчитать прогноз количества пользователей, которые у вас будут в следующей секунде. Вы хотите усреднить последние 10 минут, поэтому вам нужно сохранить очередь с последними 10 * 60 секунд - это состояние , которое необходимо сохранить для вашей обработки, и вам нужно обновлять его каждую секунду, чтобы сохранить максимальную последние 10 минут состояния. Это, конечно, операция с состоянием. Простая операция с состоянием - это просто подсчет общего количества просмотров страницы с начала сайта.

Одним из важных различий между двумя операциями является то, что если поток прекращается и вы перезагружаете систему, вы должны позаботиться о сохранении состояния. Операция без гражданства не имеет состояния для сохранения, поэтому она обычно проще.

Смежные вопросы