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 https://www.rabbitmq.com/features.html 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.
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
- 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.