6 Hours of Video Instruction
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
Who Should Take This Course
Basic Java familiarity. The course uses Java 8, although Spring Boot and most Spring projects support Java 6.
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.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.
Lesson 1: Basics
1.1 Motivations for Reactive Programming
1.2 Reactive Streams and Java 9 "Flow"
1.3 Project Reactor
1.4 The Spring Initializr
Lesson 2: Data
2.1 NoSQL with MongoDB
2.2 SQL with R2DBC
Lesson 3: HTTP Services
3.1 Spring MVC-style HTTP Controllers
3.2 Functional Reactive-style Controllers
3.3 Server-Sent Events
Lesson 4: WebSockets
4.1 A Simple Neverending Websocket Example
Lesson 5: HTTP Clients
5.1 The Reactive HTTP Client
5.2 Reactor Error Handling
5.3 Spring Cloud Circuitbreaker
5.4 Service Hedging
Lesson 6: RSocket
6.2 Raw RSocket
6.3 RSocket in Spring
6.4 The RSocket Requester
Lesson 7: Security
Lesson 8: Gateway
Lesson 9: Reactive Streams Redux
9.1 Reactive Streams Specification
9.2 Processing Data with Akka Actors
Lesson 10: Testing
10.1 Motivations for Test-Driven Development
10.2 Basic Testing
10.3 Testing Data Tier
10.4 Testing the Web Tier
10.5 Testing a Client
10.6 Microservice Testing