SlideShare uma empresa Scribd logo
1 de 21
Globalcode – Open4education
Trilha – .NET
Bruno Brito
Asp.net core & IIS - Escalabilidade com Requisicoes Assincronas
Globalcode – Open4education
Vamos conversar?
PAI - MCSA – MCTS
Consultor e Pre Sales na Fornax
(Software Engineer at Genius @Florida)
Globalcode – Open4education
É Sincrono
O HTTP É ASSÍNCRONO OU
SINCRONO?
Globalcode – Open4education
Browser
Globalcode – Open4education
Aumentar a escalabilidade da aplicação
Globalcode – Open4education
HTTP
Protocolo de comunicação
Porta 80
Connectionless
Está no topo do TCP/IP
Stateless
Globalcode – Open4education
Webserver - IIS
Um software para transferência HTTP
“Escuta” a porta 80
Não é ASP.NET
PHP, páginas estáticas, node
Globalcode – Open4education
IIS – A requisição
Globalcode – Open4education
ACHOU QUE NÃO IA TER O
KESTREL?
Globalcode – Open4education
Kestrel
Web-server do ASP.NET Core
multiplataforma
Permite o ASP.NET rodar em qualquer
sistema
Proxy Reverso já
Globalcode – Open4education
Kestrel
Antes do 2.2 (Out of Process) 2.2 em diante (In Process Hosting)
Globalcode – Open4education
Async
Muitas coisas ao mesmo tempo
Frontend
Responsividade
Backend
Escalabilidade
Evitar thread blocking
Globalcode – Open4education
Sync
Globalcode – Open4education
Async
Globalcode – Open4education
Async
Não é bala de prata
CPU-bound requests
Banco
Network
Globalcode – Open4education
Resultados
5 Secs
requests ms
Sync 8 5.016
Sync 9 10.004
Async 8 5.018
Async 800 5.389
Globalcode – Open4education
Resultados
Async Sync
Globalcode – Open4education
CPU-Bound
Globalcode – Open4education
Demo
Globalcode – Open4education
Download
github.com/brunohbrito/Palestras

Mais conteúdo relacionado

Mais procurados

Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recovery
Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recoveryZabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recovery
Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recoveryFilipe Paternot
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Renato Groffe
 
TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Coretdc-globalcode
 
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...Renato Groff
 
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...Renato Groff
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
 Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro... Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...Renato Groff
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBMario Guedes
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
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
 
Comunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsComunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsVinicius Mussak
 
Zabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesZabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesFilipe Paternot
 
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDay
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDayO novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDay
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDayRenato Groff
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Jstdc-globalcode
 
Palestra LPI w3c
Palestra LPI w3cPalestra LPI w3c
Palestra LPI w3cRankest
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Jstdc-globalcode
 
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
 
Distribua seu código
Distribua seu códigoDistribua seu código
Distribua seu códigoThiago Paes
 
Palestra LPI - Julho de 2009
Palestra LPI - Julho de 2009Palestra LPI - Julho de 2009
Palestra LPI - Julho de 2009Rankest
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 

Mais procurados (20)

Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recovery
Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recoveryZabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recovery
Zabbix Meetup 2017 RJ - Globo.com - Tuning e Disaster recovery
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
 
TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Core
 
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
 
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
 Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro... Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
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 ...
 
Comunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsComunicação em tempo real com Node.js
Comunicação em tempo real com Node.js
 
Zabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesZabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integrações
 
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDay
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDayO novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDay
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET - OneDay
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Js
 
Palestra LPI w3c
Palestra LPI w3cPalestra LPI w3c
Palestra LPI w3c
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Js
 
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
 
Distribua seu código
Distribua seu códigoDistribua seu código
Distribua seu código
 
Palestra LPI - Julho de 2009
Palestra LPI - Julho de 2009Palestra LPI - Julho de 2009
Palestra LPI - Julho de 2009
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
Desenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPARDesenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPAR
 

Semelhante a AspNetCore Async Requests Escalabilidade

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
ASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureWaldyr Felix
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012Marco Antonio Maciel
 
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...tdc-globalcode
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APIWaldyr Felix
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...tdc-globalcode
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3Alex Miranda
 
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
 
Tdc 2013 eric lemes - integracoes entre sistemas-2
Tdc 2013   eric lemes - integracoes entre sistemas-2Tdc 2013   eric lemes - integracoes entre sistemas-2
Tdc 2013 eric lemes - integracoes entre sistemas-2Eric Lemes
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
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
 
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...Renato Groff
 

Semelhante a AspNetCore Async Requests Escalabilidade (20)

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
ASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureASP.NET Web API no Windows Azure
ASP.NET Web API no Windows Azure
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012
 
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3
 
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 2013 eric lemes - integracoes entre sistemas-2
Tdc 2013   eric lemes - integracoes entre sistemas-2Tdc 2013   eric lemes - integracoes entre sistemas-2
Tdc 2013 eric lemes - integracoes entre sistemas-2
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
 

AspNetCore Async Requests Escalabilidade

Notas do Editor

  1. A necessidade de protocolos também se aplica a sistemas de computação. Um protocolo de comunicação é uma descrição formal dos formatos de mensagens digitais e das regras para troca dessas mensagens nos sistemas de computação.
  2. Chefe chato