Real Time Fraud Detection using Apache Storm and RabbitMQ

Home / General / Real Time Fraud Detection using Apache Storm and RabbitMQ

In this post we are going to discuss building a real time solution for fraud detection in mobile ads.

There are two phases to Real Time fraud detection

Phase 1: Involves capturing and ingestion of real time event stream processed via RabbitMQ that act as the live stream.

Phase 2: Uses prediction model on the live stream and detect fraud via Apache Storm

Streaming data ingestion: 

Rabbit MQ is a messaging broker . It gives your applications a common platform to send and receive messages.

Refer the link for features provided by RabbitMQ.

All global events are captured and ingested into RabbitMQ as a message which forms the input stream to Apache Storm.

Apache Storm:

Businesses are moving from large-scale batch data analysis to large-scale real-time data analysis. Apache Storm has emerged as one of the most popular platforms for the purpose.

Apache storm is a open source distributed realtime in memory computation system. Storm is useful in processing unbounded streams of data.

A storm topology can be defined to consume streams of data from RabbitMQ & processes those streams in arbitrary complex ways & repartitioning the streams between each stage of computation.

The input stream of events is connected to bolt which does aggregation of the numbers of impressions coming from

  • devices
  • IP Address


A rolling window of predefined frequency is used to check if requests from various devices & IP address exceed a defined threshold to detect fraud.

Share this article

Leave a Reply

Your email address will not be published. Required fields are marked *