SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Minuto a Minuto
Danilo Sousa ~ dsgoncalves@sp.r7.com
Solução atual
LUMIS + HTML Pooling
●Fornecedor envia, via FTP, o XML da narração;
●Extract, transform and load ( ETL ) do LUMIS faz o parse o
XML;
●O browser atualiza o conteúdo a cada X segundos;
●A Redação pode alterar ou inserir algum item;
*
Problemas
●Demora na atualização;
○XML parseado pela ETL;
○Alterações refletidas browser;
●LUMIS
○Fila de geração página;
○Troca de URL do jogo;
Solução Proposta
WebSockets
Node.js
Redis
WebSockets
●Padrão W3C / IETF;
●Conexão bi-direcional;
●Funciona através de Proxy / Firewall;
●Menor overhead que as requisições HTTP / Ajax;
●Atualizações em Tempo Real;
●Suporta: Crossdomain, Autenticação, SSL;
Node.js
●V8 Engine
○Javascript e C / C++ Addons;
●Orientado à Eventos ( Assíncrono );
●Non-blocking IO;
●CommonJS modules;
●Comunidade e desenvolvimento bastante ativo;
●Facilmente escalável;
Redis
●Advanced key-value store;
●Muito rápido: ~5k GET/seg;
●Diversos tipos de dados:
○lists, hash, expires, sorted sets;
●Em memória com persistência:
○Disco, snapshots, append-only log, VM;
●Cluster e Replicação dos dados;
●Publish / Subscribe;
Considerações sobre Node.js
●Bem recente ( stable v0.4.1 );
●Desenvolvimento bastante ativo;
●Pouco testado em produção;
○ 75 empresas e 83 projetos *
●Nested callback problem;
* https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node
client.open(function(err, p_client) {
client.dropDatabase(function(err, done) {
client.createCollection('key', function(err, collection) {
collection.insert({ 'key': 666 }, function(err, docs) {
[ code goes here ]
});
});
});
});
Publicador
Redis
Fornecedor
Parser
API
Usuários
Socket.io
Socket.io
WebSocket
webservice
webservice
Usuários
Usuários
XML
Node.js
PubSub
webservice
Atualizações da Redação
Backend Node.js
Demonstração
http://bit.ly/R7-MM
http://bit.ly/R7MMobile
Perguntas?

Mais conteúdo relacionado

Semelhante a Minuto a minuto

Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceGustavo Ciello
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)Carlos Santos
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Jeronimo Zucco
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010Wagner Reck
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e PythonÁlvaro Justen
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Dextra
 
Um milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkeUm milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkePaulo Fernandes
 
Apresentação tdc como aproveitar os novos recursos do java ee 7
Apresentação tdc   como aproveitar os novos recursos do java ee 7Apresentação tdc   como aproveitar os novos recursos do java ee 7
Apresentação tdc como aproveitar os novos recursos do java ee 7Denis Silva
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloudPET Computação
 

Semelhante a Minuto a minuto (20)

GET /conceitos HTTP/1.1
GET /conceitos HTTP/1.1GET /conceitos HTTP/1.1
GET /conceitos HTTP/1.1
 
Http 2.0
Http 2.0Http 2.0
Http 2.0
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performance
 
Web assembly
Web assemblyWeb assembly
Web assembly
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e Python
 
XMPP
XMPPXMPP
XMPP
 
HTTP 2
HTTP 2HTTP 2
HTTP 2
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2
 
Um milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkeUm milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando Ike
 
Apresentação tdc como aproveitar os novos recursos do java ee 7
Apresentação tdc   como aproveitar os novos recursos do java ee 7Apresentação tdc   como aproveitar os novos recursos do java ee 7
Apresentação tdc como aproveitar os novos recursos do java ee 7
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloud
 
HTML5 & suas APIs
HTML5 & suas APIsHTML5 & suas APIs
HTML5 & suas APIs
 

Minuto a minuto