-
Notifications
You must be signed in to change notification settings - Fork 1
Introduction
StormFront was built to address the need for delivering feed data to various systems. Traditionally, this has been accomplished through scheduled feed polling. This practice results in undesirable delays for delivering content. In order to mitigate these delays, "continuous polling" is required.
In order to accomplish "continuous polling", we created a system which reads, converts, delivers, and tracks content.
StormFront utilizes Apache Storm (0.10.0) as its engine to poll and deliver feed content on a continuous basis; however, it also has a RESTful service for on-demand delivery of content. Transformations are primarily handled using XSLT. Content tracking is handled via Redis. Storm up-time measures are handled by Zookeeper (3.5.1-alpha)
Apache Storm enables the system to scale as necessary. It also provides a Web UI for monitoring and rudimentary management.
The RESTful service is written against Glassfish (4.1.1). Glassfish provides a robust Web UI for managing resources, loading and updating applications, and extensive monitoring.
Redis (2.8.24 - 3.0.5) provides a secure, quick, no-sql method for storing and retrieving feed and configuration data.
StormFront is written in JDK8 (Java 1.8.0_66) and XSLT 1.0. The projects are managed through Maven.