Reactive Spring Boot LiveLessons, 2nd Edition

Reactive Spring Boot LiveLessons, 2nd Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6h 59m | 4.54 GB

Spring is the most used framework for building services and applications and getting them to production. Today’s applications need to scale more and more to handle more users and content with the increasing demand. Reactive Spring Boot LiveLessons, by Josh Long, Spring Developer Advocate, introduces key concepts of reactive programming and examines different aspects of the Spring ecosystem that lend themselves to the functional and reactive style of programming.

These videos not only show you where to start and how to build these applications, but they also provide a solid foundation that will allow you to apply the skills learned to other parts of the Spring ecosystem that build on these core concepts.

Learn How To

  • Examine the different aspects of the Spring ecosystem that lend themselves to the functional and reactive style of programming
  • Explore Reactive Data Access using Spring Data and Spring Data MongoDB
  • Understand the Reactive Streams specification as a compatibility layer and how to use the
  • Reactive Stream types as a mechanism for interoperability across OS projects
  • Test reactive applications
  • How to consume data from a publisher in Spring Integration and how to consume data from a publisher in Spring Cloud Stream
  • Use Spring Cloud Function
  • Build Edge Services

Lesson 1, “Basics,” examines what motivates the move to reactive programming and how it is supported in the Reactive Streams specification.

Lesson 2, “Data,” covers the importance of data and how Spring supports non-blocking data access for any NoSQL and SQL data stores.

Lesson 3, “HTTP Services,” focuses on what reactive programming means in an HTTP environment. It introduces functional reactive HTTP handlers, `@RestController`-style controllers, reactive server-sent event streams and more.

Lesson 4, “WebSockets,” focuses on Websockets, a binary protocol that supports bi-directional communication. This lesson examines how websockets, which are an extension to HTTP, integrate with Reactive Streams.

Lesson 5, “HTTP Clients,” briefly reviews the `Webclient`, the reactive HTTP client. It also discusses some patterns that clients will care about when dealing with distributed services. After incrementally building up from basic reactive pipelines to data access and then HTTP and websockets, Lesson 6, “RSocket,” introduces RSocket. RSocket is a binary protocol that supports full duplex bi-directional communication, fully integrated in Spring Framework 5.2 and Spring Boot.

Lesson 7, “Security,” shows how Spring Security works flawlessly to protect HTTP and RSocket-based services.

Lesson 8, “Gateway,” examines how to use Spring Cloud Gateway and how it is used to act as an API gateway for HTTP- and RSocket-based services.

Lesson 9, “Reactive Streams Redux,” focuses on the Reactive Streams specification as a compatibility layer and shows how to use the Reactive Stream types as a mechanism for interoperability across opensource projects like Akka Streams, Vert.x. Spring Web Flux, and Spring Data.

The last lesson, Lesson 10 “Reactive Streams Redux,” briefly reviews testing reactive applications and covers Reactive data access, Reactive web services, and how to test reactive microservices.

Table of Contents

1 Reactive Spring Boot – Introduction
2 Learning objectives
3 1.1 Motivations for Reactive Programming
4 1.2 Reactive Streams and Java 9 ‘Flow’
5 1.3 Project Reactor
6 1.4 The Spring Initializr
7 Learning objectives
8 2.1 NoSQL with MongoDB
9 2.2 SQL with R2DBC
10 2.3 Transactions
11 Learning objectives
12 3.1 Spring MVC-style HTTP Controllers
13 3.2 Functional Reactive-style Controllers
14 3.3 Server-Sent Events
15 Learning objectives
16 4.1 a simple neverending websocket example
17 4.2 JavaScript to talk to it
18 Learning objectives
19 5.1 The Reactive HTTP Client
20 5.2 Reactor Error Handling
21 5.3 Spring Cloud Circuitbreaker
22 5.4 Service Hedging
23 Learning objectives
24 6.1 Motivations
25 6.2 Raw RSocket
26 6.3 RSocket in Spring
27 Learning objectives
28 7.1 Motivations
29 7.2 HTTP
30 7.3 RSocket
31 Learning objectives
32 8.1 Motivations
33 8.2 HTTP
34 8.3 RSocket
35 Learning objectives
36 9.1 Reactive Streams Specification
37 9.2 Processing Data with Akka Actors
38 Learning objectives
39 10.1 Motivations for Test-Driven Development
40 10.2 Basic Testing
41 10.3 Testing Data Tier
42 10.4 Testing the Web Tier
43 10.5 Testing a Client
44 10.6 Microservice Testing
45 Reactive Spring Boot – Summary