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

Construindo Aplicações Reativas com Spring Weblux

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Ana Neri 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

Avatar for Ana Neri

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)