SlideShare uma empresa Scribd logo
Escalando o backend com
NGINX e Redis
Mario Guedes
Escalando o backend com NGINX e Redis Mario Guedes
Vídeo da apresentação em
https://youtu.be/ckXnPngRu7A
Escalando o backend com NGINX e Redis Mario Guedes
Olá!
Mario Guedes | Artesão de Software
Fora da Matrix a 20+ anos
Delphi, Python, Lua, JavaScript, noSQL ...
Em todas as redes sociais: /jmarioguedes
Embarcadero MVP desde 2016
http://eugostododelphi.blogspot.com.br
http://arrayof.com.br
Escalando o backend com NGINX e Redis Mario Guedes
DO QUE IREMOS FALAR?
CLIENTE MENSAGERIA STORAGE
Escalando o backend com NGINX e Redis Mario Guedes
RESTCLIENTE MENSAGERIA SERVIÇOHTTP STORAGE
Escalando o backend com NGINX e Redis Mario Guedes
Escalando o backend com NGINX e Redis Mario Guedes
Escalando o backend com NGINX e Redis Mario Guedes
Por que NGINX?
NGINX é um servidor web desenhado para atuar como proxy reverso
Promete suportar 10.000 conexões simultâneas
Utilizamos para escalar uma solução RESTful independentemente de
linguagem e framework
Portanto só tem serventia em uma arquitetura multi camada baseado em
HTTP (DataSnap REST ou DMVCFramework por exemplo)
Se coloca entre os clients HTTP e os web services
Escalando o backend com NGINX e Redis Mario Guedes
NGINX - Oportunidades
Balanceamento de carga
Tolerância à falha
As configurações são feitas nos arquivos *.conf
A configuração se dá por diretivas e contextos
Diferentemente do Apache Web Sever o NGINX trabalha apenas com um
processo para gerenciar as conexões TCP/IP
Por conta disto não executa um subprocesso anexado e nem incorpora
uma linguagem de programação – o que demanda menos recursos
Escalando o backend com NGINX e Redis Mario Guedes
PRÁTICA
Escalando o backend com NGINX e Redis Mario Guedes
Por que usar Redis?
Porque é rápido, muito rápido!
É um storage noSQL orientado à chave e valor
Imagine um grande e poderoso arquivo INI
Utiliza a memória RAM podendo persistir em disco
Desenvolvido em C ANSI
Escalando o backend com NGINX e Redis Mario Guedes
Características
Alta taxa de I/O
Rica coleção de comandos e tipos nativos
Execução de comandos em lote
Publicação e assinatura
Enfileiramento de comandos
TTL – Controle de tempo de vida da chave
Persistência em disco
Possibilidade de clusterização
Escalando o backend com NGINX e Redis Mario Guedes
Redis – Oportunidades
Turbine o seu sistema agora!
Mesmo que o seu sistema seja antigo maduro!
Aliviar a carga do banco principal
Gestão de sessões de usuários
Adoção da abordagem de micro serviços
Escalamento horizontal dos serviço de backend
Funcionamento off-line como em PDVs
Indicadores em real
Sincronização Matriz e Filial
...
Escalando o backend com NGINX e Redis Mario Guedes
Redis – Ressalvas
É bloqueante, o que requer atenção!
Prefira armazenar nos tipos nativos do Redis
Não tem suporte oficial no Windows
No tocante à mensageria é bom o suficiente porém considere o RabbitMQ
para soluções mais complexas
NÃO SUBSTITUI O SEU BANCO - COMPLEMENTA
Escalando o backend com NGINX e Redis Mario Guedes
PRÁTICA
Escalando o backend com NGINX e Redis Mario Guedes
Links
Exemplos - https://github.com/jmarioguedes/INTENSIVE_DELPHI_2018.git
NGINX - http://nginx.org
NGINX no Windows - http://nginx.org/en/docs/windows.html
Redis - https://redis.io/
Redis no Windows - https://github.com/MicrosoftArchive/redis/releases
Redis Client - https://github.com/danieleteti/delphiredisclient
Escalando o backend com NGINX e Redis Mario Guedes
Muito obrigado!
Já conhece a arrayOF?
Em breve o curso de Turbinando o seu sistema com Redis!
http://arrayof.com.br
http://fb.me/arrayOFAssessoria
mario.guedes@arrayof.com.br

Mais conteúdo relacionado

PPTX
Microsserviço, Escalabilidade e Resiliência - #comofas?
PPTX
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
PPTX
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
PPTX
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
PPTX
Fazendo barba, cabelo e bigode com REDIS
PPTX
Intensive Delphi 2017 - E este tal de Redis hein?
PDF
BeavOps : Como o Python ajudou a integrar o mundo DevOps
PDF
Apresentacao institucional-4linux-maio2015-4 100dpi
Microsserviço, Escalabilidade e Resiliência - #comofas?
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
Fazendo barba, cabelo e bigode com REDIS
Intensive Delphi 2017 - E este tal de Redis hein?
BeavOps : Como o Python ajudou a integrar o mundo DevOps
Apresentacao institucional-4linux-maio2015-4 100dpi

Mais procurados (20)

ODP
Apresentacao institucional 4Linux
PDF
Inteligência Operacional utilizando a solução Elastic.
PPTX
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
PDF
Oficina de PHP - Software Freedom Day Luziânia 2013
PPTX
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017
PDF
Node.js, Uma breve introdução
PPTX
O que é nodejs, cases e vantagens
PPTX
Node.js - Devo adotar na minha empresa?
PPTX
Introdução ao Node.js - FATEC SP
PDF
Nodejs - A performance que eu sempre quis ter
PDF
Node js - Javascript Server Side
PDF
Por que Node JS?
PPTX
BOT: Conversando com o seu sistema
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PPTX
Apresentação
KEY
Uma visão rápida sobre Nodejs
PDF
Node.js: 5 razões para começar a utilizar
PPTX
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
ODP
desenvolvimento-web-javascript
PDF
Node.js - #1 - Introdução - Rodrigo Branas
Apresentacao institucional 4Linux
Inteligência Operacional utilizando a solução Elastic.
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
Oficina de PHP - Software Freedom Day Luziânia 2013
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017
Node.js, Uma breve introdução
O que é nodejs, cases e vantagens
Node.js - Devo adotar na minha empresa?
Introdução ao Node.js - FATEC SP
Nodejs - A performance que eu sempre quis ter
Node js - Javascript Server Side
Por que Node JS?
BOT: Conversando com o seu sistema
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Apresentação
Uma visão rápida sobre Nodejs
Node.js: 5 razões para começar a utilizar
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
desenvolvimento-web-javascript
Node.js - #1 - Introdução - Rodrigo Branas
Anúncio

Semelhante a Escalando o backend com NGINX e Redis (9)

PPTX
Escalabilidade com Redis
PDF
Turbinando Drupal com Redis
PDF
Redis um banco chave valor
PPTX
PDF
Administração de Redes Linux - I
PPTX
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
PPTX
Fazendo barba, cabelo e bigode com REDIS
PDF
Building Scalable Applications
PDF
PHP e Redis
Escalabilidade com Redis
Turbinando Drupal com Redis
Redis um banco chave valor
Administração de Redes Linux - I
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
Fazendo barba, cabelo e bigode com REDIS
Building Scalable Applications
PHP e Redis
Anúncio

Mais de Mario Guedes (20)

PDF
Integrando-se à Blockchain da Ethereum
PPTX
Entendendo HTTP para entender o REST
PPT
Expressão Regular - Cookbook
PDF
Geolocalização com Redis e Google Maps
PPTX
Foco no app, viva o serverless!
PPTX
Geolocalização com Redis e Google Maps
PPTX
Paralelismo na prática: Threads de uma vez por todas e sem medo!
PPTX
Turbinando o seu sistema com Redis!
PPTX
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
PPTX
Extreme Experience 2018 | Python para quem sabe Delphi
PPTX
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
PPTX
Big data da teoria à prática
PPTX
Integrando sua App ao Mundo via REST/JSON
PPTX
Delphi Parallel Programming Library
PPTX
Nova Infraestrutura JSON: System.JSON na prática
PPTX
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
PDF
Cacheamento Lado Servidor
PPTX
Code Rage Brazil III - Tudo sobre o REST Client Library
PPTX
Conhecendo o Novo REST Framework
PDF
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
Integrando-se à Blockchain da Ethereum
Entendendo HTTP para entender o REST
Expressão Regular - Cookbook
Geolocalização com Redis e Google Maps
Foco no app, viva o serverless!
Geolocalização com Redis e Google Maps
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Turbinando o seu sistema com Redis!
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Python para quem sabe Delphi
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Big data da teoria à prática
Integrando sua App ao Mundo via REST/JSON
Delphi Parallel Programming Library
Nova Infraestrutura JSON: System.JSON na prática
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Cacheamento Lado Servidor
Code Rage Brazil III - Tudo sobre o REST Client Library
Conhecendo o Novo REST Framework
Modularização via BPL - Abordagem Prática para DataSnap & Front-end

Último (7)

PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PDF
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
Curso de Windows 11 resumido na prática.pptx
Dos requisitos ao código: como criar código rastreável em PHP
Evolução em código: algoritmos genéticos com PHP

Escalando o backend com NGINX e Redis

  • 1. Escalando o backend com NGINX e Redis Mario Guedes
  • 2. Escalando o backend com NGINX e Redis Mario Guedes Vídeo da apresentação em https://youtu.be/ckXnPngRu7A
  • 3. Escalando o backend com NGINX e Redis Mario Guedes Olá! Mario Guedes | Artesão de Software Fora da Matrix a 20+ anos Delphi, Python, Lua, JavaScript, noSQL ... Em todas as redes sociais: /jmarioguedes Embarcadero MVP desde 2016 http://eugostododelphi.blogspot.com.br http://arrayof.com.br
  • 4. Escalando o backend com NGINX e Redis Mario Guedes DO QUE IREMOS FALAR?
  • 5. CLIENTE MENSAGERIA STORAGE Escalando o backend com NGINX e Redis Mario Guedes
  • 6. RESTCLIENTE MENSAGERIA SERVIÇOHTTP STORAGE Escalando o backend com NGINX e Redis Mario Guedes
  • 7. Escalando o backend com NGINX e Redis Mario Guedes
  • 8. Escalando o backend com NGINX e Redis Mario Guedes Por que NGINX? NGINX é um servidor web desenhado para atuar como proxy reverso Promete suportar 10.000 conexões simultâneas Utilizamos para escalar uma solução RESTful independentemente de linguagem e framework Portanto só tem serventia em uma arquitetura multi camada baseado em HTTP (DataSnap REST ou DMVCFramework por exemplo) Se coloca entre os clients HTTP e os web services
  • 9. Escalando o backend com NGINX e Redis Mario Guedes NGINX - Oportunidades Balanceamento de carga Tolerância à falha As configurações são feitas nos arquivos *.conf A configuração se dá por diretivas e contextos Diferentemente do Apache Web Sever o NGINX trabalha apenas com um processo para gerenciar as conexões TCP/IP Por conta disto não executa um subprocesso anexado e nem incorpora uma linguagem de programação – o que demanda menos recursos
  • 10. Escalando o backend com NGINX e Redis Mario Guedes PRÁTICA
  • 11. Escalando o backend com NGINX e Redis Mario Guedes Por que usar Redis? Porque é rápido, muito rápido! É um storage noSQL orientado à chave e valor Imagine um grande e poderoso arquivo INI Utiliza a memória RAM podendo persistir em disco Desenvolvido em C ANSI
  • 12. Escalando o backend com NGINX e Redis Mario Guedes Características Alta taxa de I/O Rica coleção de comandos e tipos nativos Execução de comandos em lote Publicação e assinatura Enfileiramento de comandos TTL – Controle de tempo de vida da chave Persistência em disco Possibilidade de clusterização
  • 13. Escalando o backend com NGINX e Redis Mario Guedes Redis – Oportunidades Turbine o seu sistema agora! Mesmo que o seu sistema seja antigo maduro! Aliviar a carga do banco principal Gestão de sessões de usuários Adoção da abordagem de micro serviços Escalamento horizontal dos serviço de backend Funcionamento off-line como em PDVs Indicadores em real Sincronização Matriz e Filial ...
  • 14. Escalando o backend com NGINX e Redis Mario Guedes Redis – Ressalvas É bloqueante, o que requer atenção! Prefira armazenar nos tipos nativos do Redis Não tem suporte oficial no Windows No tocante à mensageria é bom o suficiente porém considere o RabbitMQ para soluções mais complexas NÃO SUBSTITUI O SEU BANCO - COMPLEMENTA
  • 15. Escalando o backend com NGINX e Redis Mario Guedes PRÁTICA
  • 16. Escalando o backend com NGINX e Redis Mario Guedes Links Exemplos - https://github.com/jmarioguedes/INTENSIVE_DELPHI_2018.git NGINX - http://nginx.org NGINX no Windows - http://nginx.org/en/docs/windows.html Redis - https://redis.io/ Redis no Windows - https://github.com/MicrosoftArchive/redis/releases Redis Client - https://github.com/danieleteti/delphiredisclient
  • 17. Escalando o backend com NGINX e Redis Mario Guedes Muito obrigado! Já conhece a arrayOF? Em breve o curso de Turbinando o seu sistema com Redis! http://arrayof.com.br http://fb.me/arrayOFAssessoria mario.guedes@arrayof.com.br