SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
uWSGI.. Por quê? Quando? Onde?
                                Cícero Verneck Corrêa




domingo, 25 de novembro de 12
uwsgi - o protocolo




         •      Derivado do protocolo SCGI

         •      Representação binaria

         •      Tamanho do cabeçalho: 4 bytes




domingo, 25 de novembro de 12
Eu não posso usar esse protocolo
         mas quero usar os recursos



         •      HTTP

         •      FastCGI

         •      ZeroMQ




domingo, 25 de novembro de 12
uWSGI - application server container

         •      Escrito em C

         •      Cache

         •      RPC

         •      Gestão de Processos

         •      Implementação de cluster

         •      Plugins podem ser escritos em C/C++ e Objective-C

         •      Open Source (github.com/unbit/uwsgi)




domingo, 25 de novembro de 12
uWSGI - Suporte


                     Tecnologia   Versão     Status
                       Python      0.9.1     Estável
                         Lua       0.9.5     Estável
                        Perl       0.9.5     Estável
                        Ruby       0.9.7     Estável
                       Erlang      0.9.5     Estável
                        PHP         1.0      Estável
                     Mono(.net)    0.9.7   Inutilizável
                        JVM        0.9.7     Alpha
                        GO          1.4      Estável




domingo, 25 de novembro de 12
uWSGI - configuração



         •      Formatos: ini, json, xml, yaml, SQLite, LDAP, ENV, Linha de comando

         •      Variáveis mágicas

         •      Variáveis customizadas

         •      Configuração Logica

         •      Grande número de opções de configuração




domingo, 25 de novembro de 12
uWSGI - Variáveis mágicas

                                    app1.ini




domingo, 25 de novembro de 12
uWSGI - Variáveis mágicas

                                    app1.ini




domingo, 25 de novembro de 12
uWSGI - Variáveis customizadas




domingo, 25 de novembro de 12
uWSGI - Variáveis customizadas




domingo, 25 de novembro de 12
uWSGI - Configuração Logica




       for .. endfor
       if-dir / if-not-dir         declarações suportadas
       if-env / if-not-env
       if-exists / if-not-exists
       if-file / if-not-file
       if-option / if-not-option
       if-reload / if-not-reload


domingo, 25 de novembro de 12
uWSGI - Opções de Configuração
         •      socket
         •      processes
         •      master
         •      max-requests
         •      plugins
         •      logto
                                https://github.com/unbit/uwsgi-docs
         •      uid, gid
         •      virtualenv
         •      pythonpath
         •      idle
         •      emperor
         •      zerg



domingo, 25 de novembro de 12
Emperor
                                multi-app deployment




domingo, 25 de novembro de 12
Zerg
                                Escalabilidade




domingo, 25 de novembro de 12
Broodlord
                                Auto escalabilidade




domingo, 25 de novembro de 12
Broodlord
                                Auto escalabilidade




domingo, 25 de novembro de 12
APIs
                                decoradores, spool, cache, RPC, File, etc.




domingo, 25 de novembro de 12
APIs
                                decoradores, spool, cache, RPC, File, etc.




domingo, 25 de novembro de 12
Cache
                                Framework de cache




domingo, 25 de novembro de 12
uwsgitop




domingo, 25 de novembro de 12
Obrigado...

                                              cicero.verneck@studiosol.com.br

                                              github.com/CiceroComp

                                              @CiceroComp




domingo, 25 de novembro de 12

Contenu connexe

Tendances

O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)Wellington Silva
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPArthur Fücher
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsRafael Soares
 
Otimizando sites com o nosql redis
Otimizando sites com o nosql redisOtimizando sites com o nosql redis
Otimizando sites com o nosql redisAllisson Azevedo
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerLuís Bianchin
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetesRicardo Katz
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open SourceEdgar Silva
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
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
 

Tendances (18)

O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Meetup-Churrops
Meetup-ChurropsMeetup-Churrops
Meetup-Churrops
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre Nodejs
 
Otimizando sites com o nosql redis
Otimizando sites com o nosql redisOtimizando sites com o nosql redis
Otimizando sites com o nosql redis
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
 
Protegendo Docker
Protegendo DockerProtegendo Docker
Protegendo Docker
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
 
Event machine
Event machineEvent machine
Event machine
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
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
 

Similaire à uWSGI.. Por quê? Quando? Onde? Como?

PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e MemcacheAndre Golvea
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Fabiano Weimar
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Djangofabiocerqueira
 

Similaire à uWSGI.. Por quê? Quando? Onde? Como? (8)

Oficina Puppet latinoware
Oficina Puppet latinowareOficina Puppet latinoware
Oficina Puppet latinoware
 
Php com código limpo
Php com código limpoPhp com código limpo
Php com código limpo
 
PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e Memcache
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???
 
Workshop DDD
Workshop DDDWorkshop DDD
Workshop DDD
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Django
 

uWSGI.. Por quê? Quando? Onde? Como?

  • 1. uWSGI.. Por quê? Quando? Onde? Cícero Verneck Corrêa domingo, 25 de novembro de 12
  • 2. uwsgi - o protocolo • Derivado do protocolo SCGI • Representação binaria • Tamanho do cabeçalho: 4 bytes domingo, 25 de novembro de 12
  • 3. Eu não posso usar esse protocolo mas quero usar os recursos • HTTP • FastCGI • ZeroMQ domingo, 25 de novembro de 12
  • 4. uWSGI - application server container • Escrito em C • Cache • RPC • Gestão de Processos • Implementação de cluster • Plugins podem ser escritos em C/C++ e Objective-C • Open Source (github.com/unbit/uwsgi) domingo, 25 de novembro de 12
  • 5. uWSGI - Suporte Tecnologia Versão Status Python 0.9.1 Estável Lua 0.9.5 Estável Perl 0.9.5 Estável Ruby 0.9.7 Estável Erlang 0.9.5 Estável PHP 1.0 Estável Mono(.net) 0.9.7 Inutilizável JVM 0.9.7 Alpha GO 1.4 Estável domingo, 25 de novembro de 12
  • 6. uWSGI - configuração • Formatos: ini, json, xml, yaml, SQLite, LDAP, ENV, Linha de comando • Variáveis mágicas • Variáveis customizadas • Configuração Logica • Grande número de opções de configuração domingo, 25 de novembro de 12
  • 7. uWSGI - Variáveis mágicas app1.ini domingo, 25 de novembro de 12
  • 8. uWSGI - Variáveis mágicas app1.ini domingo, 25 de novembro de 12
  • 9. uWSGI - Variáveis customizadas domingo, 25 de novembro de 12
  • 10. uWSGI - Variáveis customizadas domingo, 25 de novembro de 12
  • 11. uWSGI - Configuração Logica for .. endfor if-dir / if-not-dir declarações suportadas if-env / if-not-env if-exists / if-not-exists if-file / if-not-file if-option / if-not-option if-reload / if-not-reload domingo, 25 de novembro de 12
  • 12. uWSGI - Opções de Configuração • socket • processes • master • max-requests • plugins • logto https://github.com/unbit/uwsgi-docs • uid, gid • virtualenv • pythonpath • idle • emperor • zerg domingo, 25 de novembro de 12
  • 13. Emperor multi-app deployment domingo, 25 de novembro de 12
  • 14. Zerg Escalabilidade domingo, 25 de novembro de 12
  • 15. Broodlord Auto escalabilidade domingo, 25 de novembro de 12
  • 16. Broodlord Auto escalabilidade domingo, 25 de novembro de 12
  • 17. APIs decoradores, spool, cache, RPC, File, etc. domingo, 25 de novembro de 12
  • 18. APIs decoradores, spool, cache, RPC, File, etc. domingo, 25 de novembro de 12
  • 19. Cache Framework de cache domingo, 25 de novembro de 12
  • 20. uwsgitop domingo, 25 de novembro de 12
  • 21. Obrigado... cicero.verneck@studiosol.com.br github.com/CiceroComp @CiceroComp domingo, 25 de novembro de 12