Database Reference
In-Depth Information
the same token, it is also easier to integrate SSE into a native experience
than it is to integrate Web Sockets' more complicated protocol. Because
Web Sockets is intended for use within web browsers, it is not necessarily
available as a library in a native platform, whereas the standard HTTP
library can usually be easily modified to support SSE by changing the keep
alive and timeout behavior.
Conclusion
This chapter has provided a broad overview of the development of real-time
applications. The various components, also known as tiers, of a real-time
system have been described, and the names of some potential frameworks
usedineachtierhavebeenintroduced. Inaddition, thelow-leveltoolsofthe
real-time application—the programming languages—have also been briefly
introduced.Asmentionedatthebeginningofthischapter,itisassumedthat
thereissomeknowledge ofthelanguages discussedinthischaptertogetthe
most of out of the rest of this topic.
The rest of this topic discusses each component described in this chapter
in more depth. Chapter 3 begins by discussing the coordination server
ZooKeeper, which was mentioned in the section on horizontal scalability.
This is a critical piece of software used by several other packages in this
topic, making it deserving of its own chapter. These coordination servers
are used to manage the data flow from the edge servers to the processing
environment. Two packages used to manage data flows, Kafka and Flume,
are covered in Chapter 4, “Flow Management for Streaming Analysis,” and
should be used, as mentioned earlier, according to need. Next, the data
is processed using either Storm or Samza, both of which are covered in
Chapter 5, “Processing Streaming Data.” The results of this processing need
to be stored, and there are a variety of options available. Some of the more
popular options are laid out in Chapter 6, “Storing Streaming Data,” so that
they can be accessed by the delivery mechanisms discussed in Chapter 7,
“Delivering Streaming Metrics.”
Chapters 8 through 11 are more focused on building applications on top of
this foundation. They introduce aggregation methods used in the processing
section as well as statistical techniques applied to process data to
accomplish some goal. Chapter 11, “Beyond Aggregation,” in particular, is
reserved for more “advanced topics,” such as machine learning from
streaming data.
Search WWH ::




Custom Search