Responsive Spring's Word wizard (Spring Webflux Quick Start + full introduction)

Source: Internet
Author: User
Tags test web server

1. Spring Webflux 2-hour Quick Start

Spring 5 uses spring Webflux to develop responsive applications.

    1. Lambda and function (15min)
    2. Reactor 3 Responsive Programming library (60min)
    3. Spring Webflux and Spring Data reactive develop responsive applications (45min)

Through the above content believes that Spring 5.0 can be launched in response to the development of a preliminary experience. If you would like to have a more in-depth understanding, please read the below series of articles-

2. Response spring's DAO spell device

This series of articles is intended to record the gains from learning spring-responsive programming and to help more friends.

Forgive me for the title party, hoping to learn and introduce all aspects of spring responsive programming from four levels of Tao, FA, technique, and device.

The concept, principle, characteristic and method of "Tao" responsive programming

    • 1.1 What is responsive programming : Responsive programming = Data flow + change passing + declarative;
    • 1.2 Response Flow : Asynchronous non-blocking and back-pressure (also translated as "back-pressure", "negative-pressure") characteristics of the response stream, the analysis and multithreading concurrency scheme and the asynchronous development method based on callback and completablefuture are different;
    • 1.3 hello,reactiveWorld, learn the methods and techniques for developing responsive applications with lambda, Reactor 3, Spring Webflux, and spring Data reactive through examples;
    • 1.4 Asynchronous non-blocking has a lot of power , using Gatling to load test Web server-side applications based on spring WEBMVC and spring Webflux through spring Compare the performance of WebClient and resttemplate with the Netflix case to learn about the performance gains of asynchronous HTTP clients, and then use YCSB to load test the synchronous and asynchronous drives of MongoDB to analyze asynchronous non-blocking performance benefits by testing the data;
    • 1.5 Responsive Systems , introducing responsive declarations, and the differences and linkages between responsive programming and responsive systems.

"FA" system introduces the use and principle of responsive programming library

  • [2.1 Tiger Painting Cat in-depth understanding of the response Flow Specification] (), the introduction of responsive flow specification and responsive development of the core interface, through the self-written responsive development library, understanding the internal implementation mechanism, is the basis for understanding the subsequent content of this chapter, important.
  • [2.2 Custom Data Flow] (), how to generate generate custom data streams in reactor 3 through and create such methods, is a bridge of imperative programming and responsive programming.
  • [2.3 Reactor's backpressure (back pressure/back pressure) strategy] (), introduces several back-pressure strategies in Reactor3, and how it works when generating and consuming data streams.
  • [2.4 Reactor Scheduler and threading Model] (), from the perspective of the principle of Reactor 3 Scheduler and subscribeOn publishOn the principle of action, and finally introduced for parallel execution ParallelFlux .
  • [2.5 Reactor 3 operators] (), Reactor 3 provides a rich operator, describes [how to choose the appropriate operator] (), and how to package the operator.
  • [2.6 test] (), describes StepVerifier the use PublisherProbe of, and TestPublisher three tools for automated testing methods.
  • [2.7 Debugging] (), introduces the global debug mode based on hook, checkpoint() debugging method based on local debug mode, and the previously used log() operator to observe the internal execution.
  • [2.8 Hot vs Cold] (), describes the method of using reactor 3 to operate a "thermal sequence".
  • 2.9 Processor
  • 2.10 operator Fuse

Key technology and underlying mechanism of "operation" response type
You might be interested in actor/reactor/preactor models, asynchronous I/O and Netty, Reactor and Netty adaptation, and so on.
(in study)

The "Device" example to learn about spring's various responsive components
The system understands the components in spring that support responsiveness, such as spring Webflux, Spring Data Reactive, Spring Security reactive, and using Spring Boot 2 and Spring Cloud's approach to building a responsive system.
(in study)

Related source see: https://github.com/get-set/get-reactive.
Reactor3 Reference Guide Document Chinese version (following version update): http://blog.csdn.net/get_set/article/details/79471861.

In September 2017, Spring Framework 5 released its GA version, another major version upgrade since December 2013. In addition to some of the long-awaited improvements, the most exciting new feature is that it provides full support for end-to-end responsive programming. This is a new programming paradigm and technology stack that is different from the servlet, which is based on asynchronous non-blocking features that enable the EventLoop to use a small number of lines to thread executes high concurrency access, which is also useful for microservices architectures. It's no exaggeration to say that Spring 5 makes the Java world an artifact of the skeleton of node. js.

Spring Boot 2.0 was released on March 1, 2018, and is also a large version upgrade.

As you can see from this diagram, Spring Boot 2.0来, which supports spring 5, says the newly added response technology stack is the core feature of its flagship. Specifically, the response technology stack supported by Spring Boot 2 includes the following:

    • Spring Framework 5 provides a non-blocking web framework spring Webflux;
    • A sibling project reactor followed by a responsive flow specification;
    • Support for asynchronous I/O frameworks such as Netty, Undertow, and servlet 3.1+-based containers (such as Tomcat 8.0.23+ and jetty 9.0.4+);
    • Support for responsive data access to spring database reactive repositories;
    • Support for responsive, secure access control spring security reactive;
    • such as

Due to the limited level, if the text has any problems and deficiencies, please leave a message to inform, greatly appreciated.

Responsive Spring's Word wizard (Spring Webflux Quick Start + full introduction)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.