Book Image

Reactive Programming With Java 9

By : Tejaswini Mandar Jog
Book Image

Reactive Programming With Java 9

By: Tejaswini Mandar Jog

Overview of this book

<p>Reactive programming is an asynchronous programming model that helps you tackle the essential complexity that comes with writing such applications.</p> <p>Using Reactive programming to start building applications is not immediately intuitive to a developer who has been writing programs in the imperative paradigm. To tackle the essential complexity, Reactive programming uses declarative and functional paradigms to build programs. This book sets out to make the paradigm shift easy.</p> <p>This book begins by explaining what Reactive programming is, the Reactive manifesto, and the Reactive Streams specifi cation. It uses Java 9 to introduce the declarative and functional paradigm, which is necessary to write programs in the Reactive style. It explains Java 9’s Flow API, an adoption of the Reactive Streams specifi cation. From this point on, it focuses on RxJava 2.0, covering topics such as creating, transforming,fi ltering, combining, and testing Observables. It discusses how to use Java’s popular framework, Spring, to build event-driven, Reactive applications. You will also learn how to implement resiliency patterns using Hystrix. By the end, you will be fully equipped with the tools and techniques needed to implement robust, event-driven, Reactive applications.</p>
Table of Contents (12 chapters)
Free Chapter
1
Introduction to Reactive Programming

Latency

Latency is the delay before the data transfer begins once the instruction for the transfer arrives. When the data travels over the network, getting the request by the Subscriber and then sending the expected data back takes time, as the server needs to first find the data, then build the data, and later send it. This process is obviously going to take more time, and the time taken will be increased if the requested data is more. Thus, the application will take more time to respond.

Let's take a very simple example from our day-to-day life to understand latency easily. We all browse the internet. A few pages which we visit get loaded very quickly and a few take more time. Have you observed the general pattern where the time taken by the browser is more? These are the pages with lots of images and graphics.

Now, the question is, how will latency affect reactive applications...