Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Construindo Aplicações Reativas com Spring Weblux

Ana Neri
March 24, 2020

Construindo Aplicações Reativas com Spring Weblux

Trabalhar com o conceito de reatividade nos nossos projetos tem sido cada vez mais o hype do momento! Nessa palestra vamos conhecer uma biblioteca e um framework que nos possibilitam representar programação reativa nas nossas linhas de código! Iremos ter como base o Java, usando o Spring Webflux e entender tudo isso num projeto real!

Será visto, falado e muito mais sobre JVM (Java Virtual Machine), no início e o quanto a otimização dele facilita nossa compreensão da reatividade em nossos sistemas.

Link do repositório com o código da API
https://github.com/anabneri/ReactivePokedex

Link da live: https://www.youtube.com/watch?v=ZtOJ54X0uIk

Ana Neri

March 24, 2020
Tweet

More Decks by Ana Neri

Other Decks in Technology

Transcript

  1. O que vamos ver nessa live: JVM - Java Virtual

    Machine O que é reatividade O que mudou a partir do Java 8 Arquitetura do Spring Webflux Ferramentas para começar Mãos na massa! - Criando nosso pokedex
  2. O que é reatividade ? São aplicações orientadas a um

    grande número de usuários, lidando com fluxos em vários momentos, um paradigma diferente de se pensar quando o assunto é: fluxo de dados Esses fluxos de dados, em sua grande maioria são assíncronos, ou seja, são eventos que acontecem em mais de um lugar e em momentos diferentes sem a produtividade do evento anterior @anabneri
  3. O que é reatividade ? Assíncrono significa duas tarefas ocorrendo

    ao mesmo tempo @anabneri Data Stream (fluxo de dados) é um dos pilares da reatividade que representa um conjunto de dados, e os dados são os eventos Dessa forma escrevemos códigos desacoplados Na reatividade é comum você ver o design pattern: Observer
  4. O que é reatividade ? Um Spoiler de como é

    um código simples no Spring Webflux, para demonstrar como criar um Data Stream a partir de um conjunto @anabneri
  5. O que mudou no Java 8 Expressões Lambdas, pode ser

    usado com qualquer interface funcional. @anabneri fonte: https://blog.caelum.com.br/o-minimo-que-voce-deve-saber-de-java-8/
  6. O que mudou no Java 8 More Power com Streams

    para criá-las basta os elementos da lista chamar um método default .stream() @anabneri fonte: https://blog.caelum.com.br/o-minimo-que-voce-deve-saber-de-java-8/
  7. Arquitetura Spring Webflux @anabneri Request Canal Futuro Data Flows do

    Servidor Servidor Netty Fila de eventos Loop de eventos ClasseHandler Controller EndPoint Callback EndPoint Funcional evento 1 evento 2 evento N 1 - canal é criado 2 - registrado com um event loop 3 - está ativo 1 - Ivativo 2 - event loop não registrados 3 - fechado Cliente não-bloqueante 1 2 3 - 1 3 - 2 4 5 6
  8. Arquitetura Spring Webflux @anabneri Biblioteca de base - Project Reactor

    → Mono & Flux Servlet Container - Netty (pois ele trabalha com tempos de execução assíncrono)