This is a PoC to show how alerts can be generated using a stream of data on certain conditions. Here I take the standard Overspeed Alert used in many Vehicles.
- DOWNLOAD AND INSTALL KAFKA: https://kafka.apache.org/quickstart
- RUN ZOOKEEPER: bin/zookeeper-server-start.sh config/zookeeper.properties
- RUN KAFKA: bin/kafka-server-start.sh config/server.properties
- DOWNLOAD FLINK: https://www.apache.org/dyn/closer.lua/flink/flink-1.19.0/flink-1.19.0-bin-scala_2.12.tgz
- EXTRACT CONTENT: tar -xzf flink-*.tgz
- START FLINK: ./bin/start-cluster.sh
- SUBMIT JOB: ./bin/flink run /Users/vishalmahuli/Desktop/vishal-git/flink-alert-overspeed/target/flink-overspeed-1.0-SNAPSHOT.jar
- PUSH SPEED DATA TO SOURCE TOPIC: bin/kafka-console-producer.sh --topic over.speed.alert.source.v1 --bootstrap-server localhost:9092, RECORD: {"deviceId":"device_01","speedInKmph":10,"timestamp":1715781422000}
- LISTEN ON TO SINK TOPIC FOR ALERT: bin/kafka-console-consumer.sh --topic over.speed.alert.sink.v1 --from-beginning --bootstrap-server localhost:9092