SlideShare a Scribd company logo
1 of 21
Download to read offline
Arquitetura Extrema:
Rumo aos 10.000 usuários
Patrocínio
Apoio
Que Mario? Aquele ...
o 18+ anos aprendendo a programar
o Desenvolvedor Delphi, Python, JavaScript e Lua
o Facilitador de Desenvolvimento na CONTACT STUDIO Software
o Vivência em soluções de grande porte para Contact Center
o http://eugostododelphi.blogspot.com.br
o jmarioguedes@gmail.com
o Em todas as redes: /jmarioguedes
Não sou eu!
Sou eu!
Foco desta apresentação
o O objetivo maior é o de apresentar uma proposta de arquitetura
escalável e resiliente:
o Escalável: Capacidade de atender de 10 a 10.000 usuários sem
reescrita de código.
o Resiliente: Capacidade de se recuperar .
o Precisamos suportar a mobilidade e a Inteligência
Artificial. IA é a tendência do momento!
Presta atenção!
o O objetivo maior é o de apresentar uma proposta de arquitetura
escalável e resiliente:
o Escalável: Capacidade de atender de 10 a 10.000 usuários sem
reescrita de código.
o Resiliente: Capacidade de se recuperar .
o Precisamos suportar a mobilidade e a Inteligência
Artificial. IA é a tendência do momento!
Em que passo você está?
API First
Mobile First
Voice First
IA First
Macro esquema
CAMADA RESTCAMADA CLIENTE MENSAGERIA MICRO SERVIÇOCAMADA HTTP STORAGE
WTF?! Qual o benefício?
o Estamos buscando:
o Escalabilidade horizontal
o Alta resiliência
o Alta ortogonalidade
o Down time tendendo a zero
o Adaptabilidade rápida à mudança de regras de negócio
Palavras chaves:
o Estamos buscando:
o +Escalabilidade horizontal
o Alta +resiliência
o Alta +ortogonalidade
o -Down time tendendo a zero
o +Adaptabilidade rápida à mudança de regras de
negócio
TECNOLOGIAS
Sopa de letrinhas
DataSnap
o É o framework nativo para construção de soluções
multi-camadas no Delphi e C++ Builder
o Um ótimo curso com o Rodrigo Mourão:
o http://fundamentosdatasnap.rmfactory.com.br/curso
-datasnap
NGNIX [engine x]
o Servidor web de alta densidade
o Promete suportar 10.000 conexões simultâneas
o https://nginx.org/en/
o Instalação para Windows (não para produção)
o http://nginx.org/en/docs/windows.html
o Software russo (curiosidade apenas)
NGNIX - Oportunidades
o Extensível via linguagem Lua
o Proxy reverso
o Encaminhador de requisições
o Balanceador
o Fail over
o Altamente configurável
REDIS
o Banco noSQL orientado à chave e valor
o https://redis.io
o Servidor versão Windows (não para produção):
o https://github.com/MicrosoftArchive/redis/releases
o Manager que eu uso:
o https://redisdesktop.com
o Cliente para Delphi:
o http://www.danieleteti.it/redis-client/
REDIS - Oportunidades
o Armazenamento de sessão DataSnap
o Possibilidade de se usar TTL nas chaves
o Extensível via linguagem Lua
o Cacheamento server-side
o “O processamento mais rápido é aquele que não é feito”
o Mensageria
o Enfileiramento
o Publicação e assinatura
MONGODB
o Banco noSQL orientado à documento
o https://www.mongodb.com
o Manager que eu uso:
o https://studio3t.com
o Recomendo, sempre, o curso do Thulio
o http://www.thuliobittencourt.com
MONGODB - Oportunidades
o Por já armazenar JSON, diminuímos a
incompatibilidade de impedância
o Que é o esforço de mapear os dados entre as estruturas
da linguagem e o banco de dados relacional
o Aderente aos conceitos de Big Data
o Utiliza agregação e map-reduce para
processamento
DEMOSTRAÇÃO
Fazendo acontecer
Palavras chaves
Links
o Você sabe o que é Incompatibilidade de Impedância? - Banco de Dados Parte 1
o Dayvson Lima
o https://pt.linkedin.com/pulse/você-sabe-o-que-é-incompatibilidade-de-impedância-banco-lima
o Modularização via BPL - Abordagem Prática para DataSnap & Front-end
o Mario Guedes
o https://pt.slideshare.net/jmarioguedes/modularizao-via-bpl-abordagem-prtica-para-data-snap-frontend
o Controlando a Concorrência em Aplicações Multi-Thread com Delphi
o Mario Guedes
o http://eugostododelphi.blogspot.com.br/2016/10/material-sobre-threads_51.html
o CodeRage Brasil III: Tudo sobre o REST Client Library
o Mario Guedes
o https://youtu.be/ajl2GEJonQA
200 - OK
{
“nome” : “Mário Guedes” ,
“e-mail” : “jmarioguedes@gmail.com” ,
“blog” : “http://eugostododelphi.blogspot.com.br” ,
“perfis” : [
{“linkedin” : “jmarioguedes”} ,
{“slideshare” : “jmarioguedes”} ,
{“github” : “jmarioguedes”} ,
{“prezi” : “jmarioguedes”}
]
}

More Related Content

What's hot

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 2013George Mendonça
 
Apresentacao institucional 4Linux
Apresentacao institucional 4LinuxApresentacao institucional 4Linux
Apresentacao institucional 4Linux4LinuxCursos
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Renato Groff
 
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Renato Groff
 
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 - MackenzieRenato Groffe
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Renato Groff
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...Renato Groff
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Renato Groff
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Renato Groff
 
desenvolvimento-web-javascript
desenvolvimento-web-javascriptdesenvolvimento-web-javascript
desenvolvimento-web-javascriptFelipe Barros
 
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
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
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 DelphiMario Guedes
 
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
 
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Renato Groff
 
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-2017Renato Groff
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 

What's hot (20)

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
 
Apresentacao institucional 4Linux
Apresentacao institucional 4LinuxApresentacao institucional 4Linux
Apresentacao institucional 4Linux
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
 
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
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
 
desenvolvimento-web-javascript
desenvolvimento-web-javascriptdesenvolvimento-web-javascript
desenvolvimento-web-javascript
 
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
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
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
 
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?
 
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
 
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
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 

Similar to Arquitetura Extrema para 10.000 usuários

Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
Ha proxy + consul = balance de carga transparente para conteiners
Ha proxy + consul = balance de carga transparente para conteinersHa proxy + consul = balance de carga transparente para conteiners
Ha proxy + consul = balance de carga transparente para conteinersguitoper
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Francisco Gonçalves
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDBVinicius de Sá
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgetsRenzo Petri
 
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
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET CoreGiovanni Bassi
 
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 BranasRodrigo Branas
 

Similar to Arquitetura Extrema para 10.000 usuários (20)

Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Ha proxy + consul = balance de carga transparente para conteiners
Ha proxy + consul = balance de carga transparente para conteinersHa proxy + consul = balance de carga transparente para conteiners
Ha proxy + consul = balance de carga transparente para conteiners
 
Web open source
Web open sourceWeb open source
Web open source
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgets
 
Workshop - Cordova e Ionic
Workshop - Cordova e IonicWorkshop - Cordova e Ionic
Workshop - Cordova e Ionic
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
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
 

More from 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 SummitMario Guedes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumMario Guedes
 
Entendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTEntendendo HTTP para entender o REST
Entendendo HTTP para entender o RESTMario Guedes
 
Expressão Regular - Cookbook
Expressão Regular - CookbookExpressão Regular - Cookbook
Expressão Regular - CookbookMario 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 MapsMario Guedes
 
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
 
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 MapsMario 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
 
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 DelphiMario Guedes
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaMario 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
 
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/JSONMario Guedes
 
Delphi Parallel Programming Library
Delphi Parallel Programming LibraryDelphi Parallel Programming Library
Delphi Parallel Programming LibraryMario 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 2015Mario Guedes
 
Cacheamento Lado Servidor
Cacheamento Lado ServidorCacheamento Lado Servidor
Cacheamento Lado ServidorMario 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 LibraryMario Guedes
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 

More from 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
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
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
 
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
 
BOT: Conversando com o seu sistema
BOT: Conversando com o seu sistemaBOT: Conversando com o seu sistema
BOT: Conversando com o seu sistema
 
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...
 
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
 

Arquitetura Extrema para 10.000 usuários

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

Editor's Notes

  1. Citar que é o mesmo tema e material do TDC 2017
  2. Você ainda esta no Win32?
  3. Citar a palestra do Kleberson e Amarildo sobre MVC X Ortogonalidade