У меня следующая задача: допустим, я разрабатываю интернет-магазин, которым пользуется миллион пользователей. Пользователи совершают покупки в разное время. Каждая покупка каждого пользователя превращается в событие транзакции. Я хотел бы обработать эти события немедленно, и если пользователь совершит еще хотя бы три транзакции в течение следующей недели или, например, месяца (настраиваемый период времени), я хочу сделать пользователю какой-то подарок.
Похоже, что эту задачу и подобные ей, скорее всего, можно реализовать с помощью фреймворков обработки событий. Я нашел движки сложной обработки событий (CEP) под названием Esper и Siddhi и хотел бы спросить, можно ли с их помощью реализовать такую задачу. Например, когда пользователь совершает свою первую транзакцию, я хочу назначить Эсперу/Сиддхи задачу отслеживать количество транзакций, совершенных этим пользователем с этого момента в течение недели. Если количество новых транзакций, совершенных этим пользователем, превысит 3 в течение этой недели, Эспер/Сиддхи должен сгенерировать для меня событие.
Проблема состоит в том, что миллион пользователей могут совершать покупки в разное время. , а в худшем случае мне придется назначить Эсперу/Сиддхи миллион таких задач, каждая из которых имеет уникальное скользящее временное окно (в зависимости от времени их первой транзакции в системе). Возможно ли реализовать это в Эспере или Сиддхи, и смогут ли они справиться с таким количеством задач?
Подробнее здесь: https://stackoverflow.com/questions/791 ... large-numb
Эспер или Сиддхи для обработки событий агрегирования и масштабируемости для большого количества задач ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение