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

Mais procurados

Apresentacao institucional 4Linux
Apresentacao institucional 4LinuxApresentacao institucional 4Linux
Apresentacao institucional 4Linux
4LinuxCursos
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.
4LinuxCursos
 
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiTDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
Mario Guedes
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
George Mendonça
 
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017
Renato Groff
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
Pablo Feijó
 
O que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensO que é nodejs, cases e vantagens
O que é nodejs, cases e vantagens
Rodrigo Matheus
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?
Pablo Souza
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
Arthur Fücher
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
Emerson Macedo
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
Gustavo Corrêa Alves
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
Austin Felipe Santos
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
Mario Guedes
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Apresentação
ApresentaçãoApresentação
Apresentação
Marcelo de castro
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre Nodejs
Rafael Soares
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
Filipe Falcão
 
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieTecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Renato Groffe
 
desenvolvimento-web-javascript
desenvolvimento-web-javascriptdesenvolvimento-web-javascript
desenvolvimento-web-javascript
Felipe Barros
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
Rodrigo Branas
 

Mais procurados (20)

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

Semelhante a Escalando o backend com NGINX e Redis

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
Flávio Lisboa
 
Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01
Luiz Duarte
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
Leandro Moreira
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
Gabriel Machado
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
Thiago Verly
 
Qnax servidores dedicado no brasil
Qnax servidores dedicado no brasilQnax servidores dedicado no brasil
Qnax servidores dedicado no brasil
Qnax Servidores Dedicado
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
José Roberto Araújo
 
1 Ids On Campus V3a
1 Ids On Campus V3a1 Ids On Campus V3a
1 Ids On Campus V3a
Alexandre Marini
 
Apresentação de produtos - SaveinCloud .pptx.pdf
Apresentação de produtos - SaveinCloud .pptx.pdfApresentação de produtos - SaveinCloud .pptx.pdf
Apresentação de produtos - SaveinCloud .pptx.pdf
AlexSantos8560
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
Mario Guedes
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
Edgar Rodrigues Sandi
 
Webinar RHEV na IT Web
Webinar RHEV na IT WebWebinar RHEV na IT Web
Webinar RHEV na IT Web
Rodrigo Missiaggia
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
tdc-globalcode
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
tdc-globalcode
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infosimples
 
Palestra de Windows Server 2016
Palestra de Windows Server 2016Palestra de Windows Server 2016
Palestra de Windows Server 2016
Fábio dos Reis
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Gerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance DigitalGerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance Digital
Dynatrace Latin America
 
Code Igniter & Zend Framework Uma UniãO De Sucesso
Code Igniter & Zend Framework   Uma UniãO De SucessoCode Igniter & Zend Framework   Uma UniãO De Sucesso
Code Igniter & Zend Framework Uma UniãO De Sucesso
Jose Wilker
 

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

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Qnax servidores dedicado no brasil
Qnax servidores dedicado no brasilQnax servidores dedicado no brasil
Qnax servidores dedicado no brasil
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 
1 Ids On Campus V3a
1 Ids On Campus V3a1 Ids On Campus V3a
1 Ids On Campus V3a
 
Apresentação de produtos - SaveinCloud .pptx.pdf
Apresentação de produtos - SaveinCloud .pptx.pdfApresentação de produtos - SaveinCloud .pptx.pdf
Apresentação de produtos - SaveinCloud .pptx.pdf
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
 
Webinar RHEV na IT Web
Webinar RHEV na IT WebWebinar RHEV na IT Web
Webinar RHEV na IT Web
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
Palestra de Windows Server 2016
Palestra de Windows Server 2016Palestra de Windows Server 2016
Palestra de Windows Server 2016
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Gerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance DigitalGerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance Digital
 
Code Igniter & Zend Framework Uma UniãO De Sucesso
Code Igniter & Zend Framework   Uma UniãO De SucessoCode Igniter & Zend Framework   Uma UniãO De Sucesso
Code Igniter & Zend Framework Uma UniãO De Sucesso
 

Mais de Mario Guedes

O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
Mario Guedes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
Mario Guedes
 
Entendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTEntendendo HTTP para entender o REST
Entendendo HTTP para entender o REST
Mario Guedes
 
Expressão Regular - Cookbook
Expressão Regular - CookbookExpressão Regular - Cookbook
Expressão Regular - Cookbook
Mario Guedes
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
Mario Guedes
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
Mario Guedes
 
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Mario Guedes
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis
Mario Guedes
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
Mario Guedes
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Mario Guedes
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
Mario Guedes
 
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Mario Guedes
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
Mario Guedes
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSON
Mario Guedes
 
Delphi Parallel Programming Library
Delphi Parallel Programming LibraryDelphi Parallel Programming Library
Delphi Parallel Programming Library
Mario Guedes
 
Nova Infraestrutura JSON: System.JSON na prática
Nova Infraestrutura JSON: System.JSON na prática Nova Infraestrutura JSON: System.JSON na prática
Nova Infraestrutura JSON: System.JSON na prática
Mario Guedes
 
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Abertura - GruPy-SP | G4 Solutions - Agosto 2015Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Mario Guedes
 
Cacheamento Lado Servidor
Cacheamento Lado ServidorCacheamento Lado Servidor
Cacheamento Lado Servidor
Mario Guedes
 
Code Rage Brazil III - Tudo sobre o REST Client Library
Code Rage Brazil III - Tudo sobre o REST Client LibraryCode Rage Brazil III - Tudo sobre o REST Client Library
Code Rage Brazil III - Tudo sobre o REST Client Library
Mario Guedes
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
Mario Guedes
 

Mais de Mario Guedes (20)

O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Entendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTEntendendo HTTP para entender o REST
Entendendo HTTP para entender o REST
 
Expressão Regular - Cookbook
Expressão Regular - CookbookExpressão Regular - Cookbook
Expressão Regular - Cookbook
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
 
Geolocalização com Redis e Google Maps
Geolocalização com Redis e Google MapsGeolocalização com Redis e Google Maps
Geolocalização com Redis e Google Maps
 
Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!Paralelismo na prática: Threads de uma vez por todas e sem medo!
Paralelismo na prática: Threads de uma vez por todas e sem medo!
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Integrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSONIntegrando sua App ao Mundo via REST/JSON
Integrando sua App ao Mundo via REST/JSON
 
Delphi Parallel Programming Library
Delphi Parallel Programming LibraryDelphi Parallel Programming Library
Delphi Parallel Programming Library
 
Nova Infraestrutura JSON: System.JSON na prática
Nova Infraestrutura JSON: System.JSON na prática Nova Infraestrutura JSON: System.JSON na prática
Nova Infraestrutura JSON: System.JSON na prática
 
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Abertura - GruPy-SP | G4 Solutions - Agosto 2015Abertura - GruPy-SP | G4 Solutions - Agosto 2015
Abertura - GruPy-SP | G4 Solutions - Agosto 2015
 
Cacheamento Lado Servidor
Cacheamento Lado ServidorCacheamento Lado Servidor
Cacheamento Lado Servidor
 
Code Rage Brazil III - Tudo sobre o REST Client Library
Code Rage Brazil III - Tudo sobre o REST Client LibraryCode Rage Brazil III - Tudo sobre o REST Client Library
Code Rage Brazil III - Tudo sobre o REST Client Library
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 

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