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.

Minuto a minuto

330 views

Published on

  • Be the first to comment

  • Be the first to like this

Minuto a minuto

  1. 1. Minuto a MinutoDanilo Sousa ~ dsgoncalves@sp.r7.com
  2. 2. Solução atual
  3. 3. LUMIS + HTML Pooling●Fornecedor envia, via FTP, o XML da narração;●Extract, transform and load ( ETL ) do LUMIS faz o parse oXML;●O browser atualiza o conteúdo a cada X segundos;●A Redação pode alterar ou inserir algum item;*
  4. 4. 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;
  5. 5. Solução Proposta
  6. 6. WebSocketsNode.jsRedis
  7. 7. 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;
  8. 8. 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;
  9. 9. 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;
  10. 10. 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-Nodeclient.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 ]});});});});
  11. 11. PublicadorRedisFornecedorParserAPIUsuáriosSocket.ioSocket.ioWebSocketwebservicewebserviceUsuáriosUsuáriosXMLNode.jsPubSubwebserviceAtualizações da RedaçãoBackend Node.js
  12. 12. Demonstraçãohttp://bit.ly/R7-MMhttp://bit.ly/R7MMobile
  13. 13. Perguntas?

×