Vertigo - Leveraging Vert.x for Reliable Event Processing
With the recent revolution in data processing, the industry has seen the rise in popularity of real-time data processing platforms. But most of these platforms are standalone systems which turn out to be difficult to integrate with other applications. What about users who want a reliable framework that integrates seamlessly with any Vert.x application? Vertigo is a stream processing framework that leverages the Vert.x platform to provide a reliable, fault-tolerant event processing API that can be easily integrated into any Vert.x application.
This session will cover everything you need to know about how Vertigo works. Additionally, it will explore how Vertigo uses Vert.x features to provide fault-tolerance and at-least-once message processing guarantees, as well as alternatives to its approach within the context of Vert.x.
The rough outline of the presentation is as follows:
* A brief introduction
* An example of a network of Vert.x verticles. This example demonstrates the problems with hard coded communication between complex networks of Vert.x verticles
* How communication can be better managed
* Message broker
* Publish-subscribe messaging
* Vertigo's solution
* What is Vertigo?
* Features of Vertigo
* What Vertigo is not
* Use cases
* Stream processing
* Distributed RPC
* Components of a Vertigo network
* How networks are defined
* How networks are deployed
* How Vertigo manages communication between Vert.x verticles. This is the beginning of the exploration of how Vertigo manages communication between verticles over the event bus.
* A brief example demonstrating how Vertigo can be used to construct, deploy, and monitor networks of Vert.x verticles.
* How Vertigo leverages the Vert.x event bus to provide at-least-once messaging semantics. This section will discuss different methods for providing for reliable messaging within the context of a Vert.x application as well as the algorithm used by Vertigo to determine when a message is processed.
* How Vertigo and Via leverage the Vert.x platform for deployment and monitoring
I hope to focus as much as possible on the ways in which Vertigo uses the Vert.x platform to provide reliable messaging and fault-tolerance while also analyzing alternative methods. This talk will be as much an exploration of implementing reliability features on top of Vert.x as it is an introduction to the Vertigo project. My hope is that the audience will come away with an understanding of different methods for implementing reliability features on top of Vert.x as well as a strong opinion on the Vertigo project and its usefulness.