Download - Browsah! - Ruby @Abril Midia
![Page 1: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/1.jpg)
Ruby @ Abril Mídia
Luiz RochaArquiteto de Sistemas
@lsdr
![Page 2: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/2.jpg)
![Page 3: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/3.jpg)
Ruby
• 100% dos Websites (Alexandria)
• 100% dos Data Entries
• ~ 80% das APIs (Domínios e Serviços)
![Page 4: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/4.jpg)
![Page 5: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/5.jpg)
![Page 6: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/6.jpg)
Como escalar?
• Keep-Alive
• HTTP Cache
• Requisições em paralelo
![Page 7: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/7.jpg)
Cache
http://abr.io/fearless-http-reqs
![Page 8: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/8.jpg)
Em paralelo
• net/http e afins não funcionam
• Threads?
• EventMachine, em-http-request
![Page 9: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/9.jpg)
• Aonde? http://github.com/abril/browsah
• Status? VAPORWARE
Browsah!
![Page 10: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/10.jpg)
Browsah!
• DSL em cima do EM::MultiRequest
• HTTP como protocolo de Aplicação
• “Esconder” os Deferables
• Comportamento browser-like
![Page 11: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/11.jpg)
Browsah!headers = { 'Content-Type' => 'application/json' }body = { "longUrl" => "http://engineering.abril.com.br" }.to_jsonbw = Browsah.new('https://www.googleapis.com')
bw.post '/urlshortener/v1/url', :body => body, :headers => headers do |r| r.on(200) do parsed = JSON.parse(r.body) jj parsed endend
bw.get '/urlshortener/v1/url?shortUrl=http://goo.gl/TT1LT' do |r| r.on(200) do parsed = JSON.parse(r.body) jj parsed endend
WIP
![Page 12: Browsah! - Ruby @Abril Midia](https://reader033.vdocuments.com.br/reader033/viewer/2022060107/554a268cb4c90542548b4b6e/html5/thumbnails/12.jpg)
Obrigado!