Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Globalcode – Open4education
Arquitetura escalável e resiliente com
NGINX, DataSnap, REDIS e MongoDB
Globalcode – Open4education
Que Mario? Aquele ...
18+ anos aprendendo a programar
Desenvolvedor Delphi, Python, JavaScript...
Globalcode – Open4education
Foco desta apresentação
O objetivo maior é o de apresentar uma proposta de arquitetura
escaláv...
Globalcode – Open4education
Macro esquema
CAMADA RESTCAMADA CLIENTE MENSAGERIA MICRO SERVIÇOCAMADA HTTP STORAGE
Globalcode – Open4education
WTF?! Qual o benefício?
Estamos procurando buscar:
Escalabilidade horizontal
Alta resiliência
...
Globalcode – Open4education
DataSnap
É o framework nativo para construção de soluções
multi-camadas no Delphi e C++ Builde...
Globalcode – Open4education
NGNIX [engine x]
Servidor web de alta densidade
Promete suportar 10.000 conexões simultâneas
h...
Globalcode – Open4education
NGNIX - Propósitos
Extensível via linguagem Lua
Proxy reverso
Encaminhador de requisições
Bala...
Globalcode – Open4education
REDIS
Banco noSQL orientado à chave e valor
https://redis.io
Servidor versão Windows (não para...
Globalcode – Open4education
REDIS - Propósitos
Armazenamento de sessão DataSnap
Possibilidade de se usar TTL nas chaves
Ex...
Globalcode – Open4education
MONGODB
Banco noSQL orientado à documento
https://www.mongodb.com
Manager que eu uso:
https://...
Globalcode – Open4education
MONGODB - Propósitos
Por já armazenar JSON, diminuímos a
incompatibilidade de impedância
É o e...
Globalcode – Open4education
Palavras chaves
Globalcode – Open4education
Links
Você sabe o que é Incompatibilidade de Impedância? - Banco de Dados Parte 1
Dayvson Lima...
Globalcode – Open4education
Obrigado!
{
“nome” : “Mário Guedes” ,
“e-mail” : “jmarioguedes@gmail.com” ,
“blog” : “http://e...
Upcoming SlideShare
Loading in …5
×

Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB

3,915 views

Published on

Nos dias de hoje há várias oportunidades de expormos ao menos parte da nossa aplicação para o mundo, seja por conta de um aplicativo móvel, seja por conta de integração com terceiros. Outras vezes se mostra oportuno tentarmos oferecer uma solução cloud ou invés de uma solução "on-premise". Então, sair do modelo cliente servidor para um modelo SOA nos trás desafios relacionados a escalabilidade e resiliência. Nesta palestra mostrarei uma arquitetura escalável e resiliente baseado em REST e micro serviços utilizando a abordagem noSQL.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB

  1. 1. Globalcode – Open4education Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
  2. 2. Globalcode – Open4education Que Mario? Aquele ... 18+ anos aprendendo a programar Desenvolvedor Delphi, Python, JavaScript e Lua Gestor de Desenvolvimento na CONTACT STUDIO Software Vivência em soluções de grande porte para Contact Center http://eugostododelphi.blogspot.com.br jmarioguedes@gmail.com Em todas as redes: /jmarioguedes Não sou eu! Sou eu!
  3. 3. Globalcode – Open4education Foco desta apresentação O objetivo maior é o de apresentar uma proposta de arquitetura escalável e resiliente: Escalável: Capacidade de atender de 10 a 10.000 usuários sem reescrita de código. “Vem monstrão!” Resiliente: Capacidade de se recuperar . “Não cai nem fodendo que a vaca tussa!”
  4. 4. Globalcode – Open4education Macro esquema CAMADA RESTCAMADA CLIENTE MENSAGERIA MICRO SERVIÇOCAMADA HTTP STORAGE
  5. 5. Globalcode – Open4education WTF?! Qual o benefício? Estamos procurando buscar: Escalabilidade horizontal Alta resiliência Alta ortogonalidade Baixa indisponibilidade por conta de atualizações Um banco sem esquema permite maior velocidade às mudanças de regras de negócios
  6. 6. Globalcode – Open4education DataSnap É o framework nativo para construção de soluções multi-camadas no Delphi e C++ Builder Um ótimo curso com o Rodrigo Mourão: http://fundamentosdatasnap.rmfactory.com.br/curso -datasnap
  7. 7. Globalcode – Open4education NGNIX [engine x] Servidor web de alta densidade Promete suportar 10.000 conexões simultâneas https://nginx.org/en/ Instalação para Windows (não para produção) http://nginx.org/en/docs/windows.html Software russo (curiosidade apenas)
  8. 8. Globalcode – Open4education NGNIX - Propósitos Extensível via linguagem Lua Proxy reverso Encaminhador de requisições Balanceador Fail over Altamente configurável
  9. 9. Globalcode – Open4education REDIS Banco noSQL orientado à chave e valor https://redis.io Servidor versão Windows (não para produção): https://github.com/MicrosoftArchive/redis/releases Manager que eu uso: https://redisdesktop.com Cliente para Delphi: http://www.danieleteti.it/redis-client/
  10. 10. Globalcode – Open4education REDIS - Propósitos Armazenamento de sessão DataSnap Possibilidade de se usar TTL nas chaves Extensível via linguagem Lua Cacheamento server-side “O processamento mais rápido é aquele que não é feito” Mensageria Enfileiramento Publicação e assinatura
  11. 11. Globalcode – Open4education MONGODB Banco noSQL orientado à documento https://www.mongodb.com Manager que eu uso: https://studio3t.com Recomendo, sempre, o curso do Thulio http://www.thuliobittencourt.com
  12. 12. Globalcode – Open4education MONGODB - Propósitos Por já armazenar JSON, diminuímos a incompatibilidade de impedância É o esforço de mapear os dados entre as estruturas da linguagem e o banco de dados relacional Aderente aos conceitos de Big Data Utiliza agregação e map-reduce para processamento
  13. 13. Globalcode – Open4education Palavras chaves
  14. 14. Globalcode – Open4education Links Você sabe o que é Incompatibilidade de Impedância? - Banco de Dados Parte 1 Dayvson Lima https://pt.linkedin.com/pulse/você-sabe-o-que-é-incompatibilidade-de-impedância-banco-lima Modularização via BPL - Abordagem Prática para DataSnap & Front-end Mario Guedes https://pt.slideshare.net/jmarioguedes/modularizao-via-bpl-abordagem-prtica-para-data-snap-frontend Controlando a Concorrência em Aplicações Multi-Thread com Delphi Mario Guedes http://eugostododelphi.blogspot.com.br/2016/10/material-sobre-threads_51.html CodeRage Brasil III: Tudo sobre o REST Client Library Mario Guedes https://youtu.be/ajl2GEJonQA
  15. 15. Globalcode – Open4education Obrigado! { “nome” : “Mário Guedes” , “e-mail” : “jmarioguedes@gmail.com” , “blog” : “http://eugostododelphi.blogspot.com.br” , “perfis” : [ {“linkedin” : “jmarioguedes”} , {“slideshare” : “jmarioguedes”} , {“github” : “jmarioguedes”} , {“prezi” : “jmarioguedes”} ] }

×