SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
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