Reactive principles
As we begin this chapter, we shift our focus to reactive programming. This concept is fundamental to data streaming and forms the foundation for the work we will cover in this chapter. Rooted in functional programming, reactive programming allows us to shape our logic as a series of operations on a stream of data. The core tenets of this programming approach are encapsulated in the Reactive Manifesto, which you can read on the website (https://www.reactivemanifesto.org).
According to the Reactive Manifesto, a truly reactive program should possess four key qualities:
- Responsive
- Resilient
- Elastic
- Message-driven
To illustrate these principles, consider the following scenario: You’re experiencing slow internet speeds and decide to call your internet service provider to address the issue. Keep this situation in mind as we proceed to explore how each of the four principles would manifest in a reactive program designed...