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

Kafka

Kafka is a distributed, scalable, fast system which is used for publishing and subscribing messages, and building real-time data pipelines; and applications with streaming. Topic is the most important component of Kafka. A producer writes the data to the topic, and the consumer reads the data from the topic. The good thing about Kafka being distributed is that the topics are partitioned, and can be replicated over multiple nodes. The data sent to the topic is usually called messages, which can be as simple a type as String, and as complex as JSON.

Data Pipeline
Data Pipeline is an embedded data processing engine developed to be used with the Java Virtual Machine. The data pipeline facilitates the conversion of the incoming data, analyzing the data, migration of the data to the database, and much more. It also allows the developers to associate any arbitrary information (metadata...