3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Реактивное программирование со Spring Boot 2. Часть 1

OTUS [OTUS] Разработчик на Spring Framework. Часть 1 из 5 (2020)

BonAqua

BonAqua

Автор: OTUS
Название: Разработчик на Spring Framework. Часть 1 из 5 (2020)

Что даст вам этот курс

Умение «выживать» в проектах, где есть Spring;

Знание современных возможностей Spring;

Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке;

Умение быстро проходить путь от идеи до production-grade;

Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5).

Содержание курса:

  • Введение

Тема 1: Введение в Spring Framework
Тема 2: Конфигурирование Spring-приложений
Тема 3: AOP, Spring AOP
Тема 4: «Чёрная магия» Spring Boot
Тема 5: Продвинутая конфигурация Spring-приложений
Тема 6: Разбор домашних заданий, QnA

  • Работа с базами данных

Тема 1: DAO на Spring JDBC
Тема 2: Основы ORM, JPA, Hibernate как провайдер JPA
Тема 3: JPQL, Spring ORM, DAO на основе Spring ORM + JPA
Тема 4: Транзакции, Spring Tx
Тема 5: «Белая магия» Spring Data: Spring Data JPA
Тема 6: SQL и NoSQL базы данных
Тема 7: Spring Data для подключения к нереляционным БД
Тема 8: Разбор домашних заданий, QnA

  • Разработка Web-приложений

Тема 1: Введение в Spring MVC, Spring MVC на Spring Boot
Тема 2: Spring MVC View
Тема 3: Современные приложения на Spring MVC
Тема 4: Реактивное программирование
Тема 5: Reactive Spring Frameworks
Тема 6: Spring WebFlux

  • «Около» и «Дзен»

Тема 1: Spring Security: Архитектура
Тема 2: Spring Security: Механизмы аутентификации
Тема 3: Spring Security: Авторизация
Тема 4: Spring Security: ACL
Тема 5: Spring Batch
Тема 6: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)
Тема 7: Spring Integration: Messages и Channels
Тема 8: Spring Integration: Endpoints и Flow Components
Тема 9: Монолиты vs. Microservices (Round 2), Spring Boot Actuator — must have в микросервисах
Тема 10: REST-клиенты, SOAP, Spring WebServices и клиенты к ним
Тема 11: Docker, оркестрация, облака, облачные хостинги
Тема 12: Spring Cloud: Config Server, Service Registry, интеграция в облака
Тема 13: Spring Cloud Data Flow, Hystrix Circuit Breaker
Тема 14: Обзор дополнительных технологий Spring, выбор архитектуры и технологий

Читать еще:  Сводные таблицы в Excel для чайников: примеры, как сделать

Reactive

Reactive systems have certain characteristics that make them ideal for low-latency, high-throughput workloads. Project Reactor and the Spring portfolio work together to enable developers to build enterprise-grade reactive systems that are responsive, resilient, elastic, and message-driven.

What is reactive processing?

Reactive processing is a paradigm that enables developers build non-blocking, asynchronous applications that can handle back-pressure (flow control).

Why use reactive processing?

Reactive systems better utilize modern processors. Also, the inclusion of back-pressure in reactive programming ensures better resilience between decoupled components.

Project Reactor

Project Reactor is a fully non-blocking foundation with back-pressure support included. It’s the foundation of the reactive stack in the Spring ecosystem and is featured in projects such as Spring WebFlux, Spring Data, and Spring Cloud Gateway.

Reactive Microservices

One of the main reasons developers move from blocking to non-blocking code is efficiency. Reactive code does more work with fewer resources. Project Reactor and Spring WebFlux let developers take advantage of multi-core, next-generation processors—handling potentially massive numbers of concurrent connections. With reactive processing, you can satisfy more concurrent users with fewer microservice instances.

Reactive Microservices With Spring Boot

The Spring portfolio provides two parallel stacks. One is based on a Servlet API with Spring MVC and Spring Data constructs. The other is a fully reactive stack that takes advantage of Spring WebFlux and Spring Data’s reactive repositories. In both cases, Spring Security has you covered with native support for both stacks.

Integration with common technologies

Accessing and processing data in a reactive way is important. MongoDB, Redis, and Cassandra all have native reactive support in Spring Data. Many relational databases (Postgres, Microsoft SQL Server, MySQL, H2, and Google Spanner) have reactive support via R2DBC. In the world of messaging, Spring Cloud Stream also supports reactive access to platforms like RabbitMQ and Kafka.

Ready to get started?

More resources

Get ahead

VMware offers training and certification to turbo-charge your progress.

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Upcoming events

App modernization. Kubernetes. Microservices.

The best Cloud-Native Java content brought directly to you.

Создание реактивных RESTFUL API с использованием Spring Boot / WebFlux

Build Reactive RESTFUL APIs using Spring Boot/WebFlux

Усвойте реактивное программирование в Spring с использованием WebFlux / Reactor и научитесь создавать сквозные неблокирующие RESTFUL APIs.

Этот курс структурирован так, чтобы дать вам как теоретический, так и программный аспект API-интерфейсов Reactive Programming и Reactive RestFul с использованием Spring WebFlux.

Читать еще:  Стоит ли менять батарею на iphone 5?

Если вы с нетерпением ждете, чтобы узнать ниже перечисленные вещи:

  • Что такое реактивное программирование?
  • Реактивное программирования с помощью Spring WebFlux.
  • Реактивное программирования с БД.
  • Создание реактивных API RestFul с помощью Spring WebFlux

Тогда это правильный курс для вас. Это чистый практический курс, где вы будете писать много кода.

К концу этого курса вы получите полное представление о программировании и реализации Reactive API с использованием Spring WebFlux.

Почему Реактивное Программирование?

  • В этом разделе рассказывается о необходимости реактивного программирования и подробно объясняется текущая модель исполнения в Spring-MVC.
  • В этом разделе рассказывается о недостатках spring-mvc .
  • В этом разделе рассказывается о модели параллелизма в Spring-MVC.

Что такое реактивное программирование?

  • В этом разделе говорится о том, что такое реактивное программирование?
  • Как реактивное программирование работает в двух словах на простом примере.
  • В этом разделе вы познакомитесь со спецификацией Reactive Streams.
  • В этом разделе будет дано полное представление о «Реактивных библиотеках», которые существуют там.

Начало работы с Project Reactor

  • В этом разделе вы ознакомитесь со всеми основами Project Reactor и рассмотрите его на нескольких примерах.
  • В этом разделе подробно рассматриваются реактивные типы Flux и Mono.

Настройка проекта для этого курса

  • В этом разделе мы создадим проект для этого курса, используя веб-сайт Spring Intializr.

Реактивное программирование (Flux и Mono) — практические занятия + тестирование Junit

  • В этом разделе мы рассмотрим, как Flux и Mono работают через код.
  • Мы сделаем живое программирование того, как писать тестовые примеры Junit, используя Flux и Mono.
  • Мы рассмотрим множество различных операторов в Flux и Mono.

Создайте первый неблокирующий RESTFUL API с использованием аннотированных контроллеров — Hands On

  • В этом разделе мы создадим первый неблокирующий API с использованием аннотированных контроллеров.
  • В этом разделе рассматриваются основы работы реактивного API.
  • В этих разделах также описывается аспект кодирования того, как вернуть Flux / Mono из конечной точки.
  • В этом разделе также описывается, как писать контрольные примеры JUNIT с использованием WebTestClient.

Создание неблокирующего RESTFUL API с использованием функциональной сети — Hands On

  • В этом разделе мы создадим неблокирующий API с помощью функционального веб-модуля.
  • В этом разделе рассказывается о RouterFunction и HandlerFunction, которые составляют основу для функционального веб-модуля.
  • В этом разделе также описывается, как писать контрольные примеры JUNIT с использованием WebTestClient.

Spring WebFlux & Netty — модель исполнения

  • В этом разделе рассказывается о различных слоях WebFlux для обслуживания HTTP-запросов / ответов.
  • В этих разделах рассматриваются концепции NETTY, такие как Channel, EventLoop и некоторые технические аспекты Netty.

Обзор Реактивного API

  • В этом разделе представлен обзор Reactive API, который мы собираемся создать в рамках этого курса.
Читать еще:  Как создать мультизагрузочную флешку

Реактивное программирование в базах данных — MongoDB — Hands On

  • В этом разделе мы узнаем о том, как написать код реактивного программирования с MongoDB.
  • Определите документ позиции для проекта.
  • В этом разделе рассказывается о настройке различных профилей в Spring Boot.
  • В этом разделе мы настроим адаптер ItemReactive Mongo DB.
  • В этом разделе также описывается, как писать контрольные примеры JUNIT для реактивного репозитория.

Создайте конечную точку API реактивного элемента — с помощью RestController

  • В этом разделе мы узнаем о том, как кодировать Реактивный API Item CRUD, используя подход @RestController.
  • В этом разделе также описывается, как писать автоматизированные тесты с использованием JUNIT и неблокирующего тестового клиента WebTestClient.

Создайте конечную точку API Reactive Item — используя функциональную сеть

  • В этом разделе мы узнаем о том, как кодировать Реактивный API Item CRUD, используя функциональный веб-подход.
  • В этом разделе также описывается, как писать автоматизированные тесты с использованием JUNIT и неблокирующего тестового клиента WebTestClient.

Создайте неблокирующий клиент с помощью WebClient

  • В этом разделе мы рассмотрим методы взаимодействия с Reactive API с помощью WebClient.
  • Изучите методы вызова Reactive API с использованием методов exchange () и retrieve ().
  • Мы изучим операции GET, PUT, POST и DELETE с помощью WebClient.

Обработка исключений в WebFlux — RestController

  • В этом разделе мы будем писать и исследовать различные подходы для обработки исключений / ошибок, возникающих в реактивном API, построенном с использованием RestController.
  • Обрабатывать исключения, используя @ExceptionHandler и @ControllerAdvice.
  • В этом разделе также описывается, как писать тестовые случаи JUNIT для сценариев исключений.

Обработка исключений в WebFlux — Функциональный веб

  • В этом разделе мы будем писать и исследовать различные подходы для обработки исключений / ошибок, возникающих в реактивном API, построенном с использованием Functional Web.
  • Обрабатывать исключения, используя WebExceptionHandler.
  • В этом разделе также описывается, как писать тестовые случаи JUNIT для сценариев исключений.

WebClient — обработка исключений

  • В этом разделе мы будем писать и исследовать, как обрабатывать исключения с помощью WebClient.
  • Изучите методы обработки исключений с помощью методов exchange () и retrieve ().

Потоковая передача данных в реальном времени с использованием WebFlux — событий на стороне сервера (SSE)

  • В этом разделе мы будем писать код и узнавать о создании конечной точки для потоковой передачи данных в реальном времени с использованием Mongo DB и Spring WebFlux.
  • В этом разделе рассказывается о доступных курсорах и ограниченных коллекциях в базе данных Mongo.
  • Создайте неблокирующую потоковую конечную точку и взаимодействуйте с БД Mongo с помощью аннотации @Tailable.
  • Научитесь писать автоматические тесты, используя JUNIT для потоковых конечных точек (SSE).
Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector