Minuto a minuto
Click here to load reader
-
Upload
danilo-sousa -
Category
Documents
-
view
186 -
download
3
Transcript of Minuto a minuto
Minuto a Minuto
Danilo Sousa ~ [email protected]
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
RedisFornecedor
Parser
API
Usuários
Socket.io
Socket.io
WebSocket
webservice
webservice
Usuários
Usuários
XM
L
Node.js
PubSub
webse
rvice
Atualizações da Redação
Backend Node.js
Demonstração
http://bit.ly/R7-MM
http://bit.ly/R7MMobile
Perguntas?