SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Componenti
                  ZeroMQ
                     Redis
                Conclusioni




             ZeroMQ e Redis:
soluzioni Open Source per l’integrazione di
               Componenti

                  Matteo Fortini


                   LinuxDay
           Ferrara, 27 Ottobre 2012



             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                    ZeroMQ
                       Redis
                  Conclusioni



Componenti


             Riutilizzabili




               Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                  ZeroMQ
                     Redis
                Conclusioni



Componenti


     Testabili Singolarmente




             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                  ZeroMQ
                     Redis
                Conclusioni



Componenti

  Scritti in diversi linguaggi




             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                  ZeroMQ
                     Redis
                Conclusioni



Componenti

  Cross-platform




             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                  ZeroMQ
                     Redis
                Conclusioni



Componenti

  Modulari




             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                  ZeroMQ
                     Redis
                Conclusioni



Componenti

  Distribuibili




             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
               ZeroMQ      Caratteristiche di ZeroMQ
                  Redis    Pattern
             Conclusioni   Difetti




The Intelligent Transport Layer

          Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
              ZeroMQ      Caratteristiche di ZeroMQ
                 Redis    Pattern
            Conclusioni   Difetti




Come iniziano i progetti?




         Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
            ZeroMQ      Caratteristiche di ZeroMQ
               Redis    Pattern
          Conclusioni   Difetti




Come finiscono?




       Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
                      ZeroMQ      Caratteristiche di ZeroMQ
                         Redis    Pattern
                    Conclusioni   Difetti




Vantaggi di ZeroMQ
•   Serverless
•   Orientata ai messaggi
•   Cross platform
•   Cross linguaggio


                 Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
                    ZeroMQ      Caratteristiche di ZeroMQ
                       Redis    Pattern
                  Conclusioni   Difetti




Trasparente
• inproc:// → memoria, thread
• ipc:// → UNIX R sockets, processi
• tcp:// → rete



               Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
                  ZeroMQ      Caratteristiche di ZeroMQ
                     Redis    Pattern
                Conclusioni   Difetti




Pattern




    [ti costringe a pensare alle interazioni]
             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
           ZeroMQ      Caratteristiche di ZeroMQ
              Redis    Pattern
         Conclusioni   Difetti




REQ/REP




      Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
            ZeroMQ      Caratteristiche di ZeroMQ
               Redis    Pattern
          Conclusioni   Difetti




PIPE




       Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
               ZeroMQ      Caratteristiche di ZeroMQ
                  Redis    Pattern
             Conclusioni   Difetti




PUB/SUB




    [anche multimaster → (e)pgm://]
          Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
                 ZeroMQ      Caratteristiche di ZeroMQ
                    Redis    Pattern
               Conclusioni   Difetti




Devices
• Forwarder → PUB/SUB
• Streamer → PIPE
• Broker → REQ/REP



            Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti     Evoluzione dei progetti
                    ZeroMQ      Caratteristiche di ZeroMQ
                       Redis    Pattern
                  Conclusioni   Difetti




Difetti
•   Robustezza sulla rete
•   Uso di thread
•   assert()
•   Performance
•   Fork: http://crossroads.io


               Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
                Componenti     Redis
                   ZeroMQ      Non solo Key-Value
                      Redis    Funzioni avanzate
                 Conclusioni   Distribuito
                               Difetti




Redis is an open source, advanced
key-value store.
It is often referred to as a data structure
server since keys can contain strings, hashes,
lists, sets and sorted sets.

              Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
           Componenti     Redis
              ZeroMQ      Non solo Key-Value
                 Redis    Funzioni avanzate
            Conclusioni   Distribuito
                          Difetti




Il problema dello stato




         Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
                    Componenti     Redis
                       ZeroMQ      Non solo Key-Value
                          Redis    Funzioni avanzate
                     Conclusioni   Distribuito
                                   Difetti




Cos’è Redis
•   NoSQL
•   Key-Value
•   Piccolo
•   Efficiente
•   In-memory
•   Cross platform (server/clients)
•   Cross linguaggio (clients)
                  Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
               Componenti     Redis
                  ZeroMQ      Non solo Key-Value
                     Redis    Funzioni avanzate
                Conclusioni   Distribuito
                              Difetti




Non solo Key-Value
•   HASH
•   LIST
•   SET/ORDERED SET
•   BITSET


             Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
                 Componenti     Redis
                    ZeroMQ      Non solo Key-Value
                       Redis    Funzioni avanzate
                  Conclusioni   Distribuito
                                Difetti




Funzioni avanzate
•   Transazioni
•   INC/DEC atomici
•   PUB/SUB
•   EXPIRE
•   MONITOR
•   Lua scripting

               Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
                   Componenti     Redis
                      ZeroMQ      Non solo Key-Value
                         Redis    Funzioni avanzate
                    Conclusioni   Distribuito
                                  Difetti




Distribuito
• Master/Slave
• Sentinel




                 Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Il problema dello stato
                Componenti     Redis
                   ZeroMQ      Non solo Key-Value
                      Redis    Funzioni avanzate
                 Conclusioni   Distribuito
                               Difetti




Difetti
• Limitato dalla RAM




              Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                         ZeroMQ
                            Redis
                       Conclusioni




[Piccola demo...]




Grazie!

Domande?

                    Matteo Fortini   ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
Componenti
                                     ZeroMQ
                                        Redis
                                   Conclusioni



Acknowledgements


    • Clones Army image by Fred Dunn
      https://secure.flickr.com/photos/gratapictures/
    • Dandelion image by undergroundbastard
      https://secure.flickr.com/photos/undergroundbastard/
    • Pattern image by Akbar Sim
      https://secure.flickr.com/photos/akbar2/
    • Gears image by freefotouk
      https://secure.flickr.com/photos/freefoto/
    • Pipes image by Domiriel
      https://secure.flickr.com/photos/domiriel/
    • Antenna image by Janne Aaltonen
      https://secure.flickr.com/photos/janneaaltonen/
    • Map pin image by joebuzzica
      https://secure.flickr.com/photos/63352809@N02/




                                Matteo Fortini     ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C

Contenu connexe

En vedette

Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQRobin Xiao
 
Europycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQEuropycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQfcrippa
 
ZeroMQ Is The Answer
ZeroMQ Is The AnswerZeroMQ Is The Answer
ZeroMQ Is The AnswerIan Barber
 
105指考成績人數累計
105指考成績人數累計105指考成績人數累計
105指考成績人數累計中 央社
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationrjsmelo
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQpieterh
 

En vedette (6)

Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQ
 
Europycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQEuropycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQ
 
ZeroMQ Is The Answer
ZeroMQ Is The AnswerZeroMQ Is The Answer
ZeroMQ Is The Answer
 
105指考成績人數累計
105指考成績人數累計105指考成績人數累計
105指考成績人數累計
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
 

Similaire à ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti

Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality CodeDaniele Mondello
 
Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Commit University
 
Ibm elm smart collaboration del tuo team di sys e sw engineering 19 novembre
Ibm elm  smart collaboration del tuo team di sys e sw engineering   19 novembreIbm elm  smart collaboration del tuo team di sys e sw engineering   19 novembre
Ibm elm smart collaboration del tuo team di sys e sw engineering 19 novembreProfesia Srl, Lynx Group
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Par-Tec S.p.A.
 
LinuxDay 2010, Arduino il re dell'hardware open
LinuxDay 2010, Arduino il re dell'hardware openLinuxDay 2010, Arduino il re dell'hardware open
LinuxDay 2010, Arduino il re dell'hardware openMauro Fava
 
Osd 2016 Middleware Track
Osd 2016 Middleware TrackOsd 2016 Middleware Track
Osd 2016 Middleware TrackUgo Landini
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxGiuliano Latini
 
Francesco Trucchia: Rapid Application Developement con strumenti Open Source
Francesco Trucchia: Rapid Application Developement con strumenti Open SourceFrancesco Trucchia: Rapid Application Developement con strumenti Open Source
Francesco Trucchia: Rapid Application Developement con strumenti Open SourceFrancesco Fullone
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerLuca Congiu
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker dotnetcode
 
Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Marcello Teodori
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfFlorence Consulting
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Fabio Mora
 

Similaire à ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti (20)

Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...
 
Ibm elm smart collaboration del tuo team di sys e sw engineering 19 novembre
Ibm elm  smart collaboration del tuo team di sys e sw engineering   19 novembreIbm elm  smart collaboration del tuo team di sys e sw engineering   19 novembre
Ibm elm smart collaboration del tuo team di sys e sw engineering 19 novembre
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
 
LinuxDay 2010, Arduino il re dell'hardware open
LinuxDay 2010, Arduino il re dell'hardware openLinuxDay 2010, Arduino il re dell'hardware open
LinuxDay 2010, Arduino il re dell'hardware open
 
Osd 2016 Middleware Track
Osd 2016 Middleware TrackOsd 2016 Middleware Track
Osd 2016 Middleware Track
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
 
Modernizziamo IBM i con PHP
Modernizziamo IBM i con PHPModernizziamo IBM i con PHP
Modernizziamo IBM i con PHP
 
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
 
Francesco Trucchia: Rapid Application Developement con strumenti Open Source
Francesco Trucchia: Rapid Application Developement con strumenti Open SourceFrancesco Trucchia: Rapid Application Developement con strumenti Open Source
Francesco Trucchia: Rapid Application Developement con strumenti Open Source
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e Docker
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdf
 
Containerized Liferay
Containerized LiferayContainerized Liferay
Containerized Liferay
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
 

Plus de Matteo Fortini

TerremotoCentroItalia.info
TerremotoCentroItalia.infoTerremotoCentroItalia.info
TerremotoCentroItalia.infoMatteo Fortini
 
Open Source, Open Data, Giornalismo e non solo
Open Source, Open Data, Giornalismo e non soloOpen Source, Open Data, Giornalismo e non solo
Open Source, Open Data, Giornalismo e non soloMatteo Fortini
 
Bilancio di previsione Comune di Cento 2017-2019
Bilancio di previsione Comune di Cento 2017-2019Bilancio di previsione Comune di Cento 2017-2019
Bilancio di previsione Comune di Cento 2017-2019Matteo Fortini
 
Startup… coworking… e il Comune?
Startup… coworking… e il Comune?Startup… coworking… e il Comune?
Startup… coworking… e il Comune?Matteo Fortini
 
Open data Cul.T.A. Data Visualization
Open data Cul.T.A. Data VisualizationOpen data Cul.T.A. Data Visualization
Open data Cul.T.A. Data VisualizationMatteo Fortini
 
2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking
2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking
2015-06-05 SMAU Bologna Digital Champions Academy: Civic HackingMatteo Fortini
 
I pericoli di Internet
I pericoli di InternetI pericoli di Internet
I pericoli di InternetMatteo Fortini
 
Da zero a maker: condivisione, collaborazione, open source
Da zero a maker: condivisione, collaborazione, open sourceDa zero a maker: condivisione, collaborazione, open source
Da zero a maker: condivisione, collaborazione, open sourceMatteo Fortini
 
Chi controlla l'integrità dei dati?
Chi controlla l'integrità dei dati?Chi controlla l'integrità dei dati?
Chi controlla l'integrità dei dati?Matteo Fortini
 
Makers: Una rivoluzione tutta Open Source
Makers: Una rivoluzione tutta Open SourceMakers: Una rivoluzione tutta Open Source
Makers: Una rivoluzione tutta Open SourceMatteo Fortini
 

Plus de Matteo Fortini (11)

TerremotoCentroItalia.info
TerremotoCentroItalia.infoTerremotoCentroItalia.info
TerremotoCentroItalia.info
 
Open Source, Open Data, Giornalismo e non solo
Open Source, Open Data, Giornalismo e non soloOpen Source, Open Data, Giornalismo e non solo
Open Source, Open Data, Giornalismo e non solo
 
ODD17 imola
ODD17 imolaODD17 imola
ODD17 imola
 
Bilancio di previsione Comune di Cento 2017-2019
Bilancio di previsione Comune di Cento 2017-2019Bilancio di previsione Comune di Cento 2017-2019
Bilancio di previsione Comune di Cento 2017-2019
 
Startup… coworking… e il Comune?
Startup… coworking… e il Comune?Startup… coworking… e il Comune?
Startup… coworking… e il Comune?
 
Open data Cul.T.A. Data Visualization
Open data Cul.T.A. Data VisualizationOpen data Cul.T.A. Data Visualization
Open data Cul.T.A. Data Visualization
 
2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking
2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking
2015-06-05 SMAU Bologna Digital Champions Academy: Civic Hacking
 
I pericoli di Internet
I pericoli di InternetI pericoli di Internet
I pericoli di Internet
 
Da zero a maker: condivisione, collaborazione, open source
Da zero a maker: condivisione, collaborazione, open sourceDa zero a maker: condivisione, collaborazione, open source
Da zero a maker: condivisione, collaborazione, open source
 
Chi controlla l'integrità dei dati?
Chi controlla l'integrità dei dati?Chi controlla l'integrità dei dati?
Chi controlla l'integrità dei dati?
 
Makers: Una rivoluzione tutta Open Source
Makers: Una rivoluzione tutta Open SourceMakers: Una rivoluzione tutta Open Source
Makers: Una rivoluzione tutta Open Source
 

ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti

  • 1. Componenti ZeroMQ Redis Conclusioni ZeroMQ e Redis: soluzioni Open Source per l’integrazione di Componenti Matteo Fortini LinuxDay Ferrara, 27 Ottobre 2012 Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 2. Componenti ZeroMQ Redis Conclusioni Componenti Riutilizzabili Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 3. Componenti ZeroMQ Redis Conclusioni Componenti Testabili Singolarmente Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 4. Componenti ZeroMQ Redis Conclusioni Componenti Scritti in diversi linguaggi Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 5. Componenti ZeroMQ Redis Conclusioni Componenti Cross-platform Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 6. Componenti ZeroMQ Redis Conclusioni Componenti Modulari Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 7. Componenti ZeroMQ Redis Conclusioni Componenti Distribuibili Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 8. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti The Intelligent Transport Layer Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 9. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Come iniziano i progetti? Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 10. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Come finiscono? Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 11. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Vantaggi di ZeroMQ • Serverless • Orientata ai messaggi • Cross platform • Cross linguaggio Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 12. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Trasparente • inproc:// → memoria, thread • ipc:// → UNIX R sockets, processi • tcp:// → rete Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 13. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Pattern [ti costringe a pensare alle interazioni] Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 14. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti REQ/REP Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 15. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti PIPE Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 16. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti PUB/SUB [anche multimaster → (e)pgm://] Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 17. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Devices • Forwarder → PUB/SUB • Streamer → PIPE • Broker → REQ/REP Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 18. Componenti Evoluzione dei progetti ZeroMQ Caratteristiche di ZeroMQ Redis Pattern Conclusioni Difetti Difetti • Robustezza sulla rete • Uso di thread • assert() • Performance • Fork: http://crossroads.io Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 19. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 20. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Il problema dello stato Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 21. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Cos’è Redis • NoSQL • Key-Value • Piccolo • Efficiente • In-memory • Cross platform (server/clients) • Cross linguaggio (clients) Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 22. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Non solo Key-Value • HASH • LIST • SET/ORDERED SET • BITSET Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 23. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Funzioni avanzate • Transazioni • INC/DEC atomici • PUB/SUB • EXPIRE • MONITOR • Lua scripting Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 24. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Distribuito • Master/Slave • Sentinel Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 25. Il problema dello stato Componenti Redis ZeroMQ Non solo Key-Value Redis Funzioni avanzate Conclusioni Distribuito Difetti Difetti • Limitato dalla RAM Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 26. Componenti ZeroMQ Redis Conclusioni [Piccola demo...] Grazie! Domande? Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C
  • 27. Componenti ZeroMQ Redis Conclusioni Acknowledgements • Clones Army image by Fred Dunn https://secure.flickr.com/photos/gratapictures/ • Dandelion image by undergroundbastard https://secure.flickr.com/photos/undergroundbastard/ • Pattern image by Akbar Sim https://secure.flickr.com/photos/akbar2/ • Gears image by freefotouk https://secure.flickr.com/photos/freefoto/ • Pipes image by Domiriel https://secure.flickr.com/photos/domiriel/ • Antenna image by Janne Aaltonen https://secure.flickr.com/photos/janneaaltonen/ • Map pin image by joebuzzica https://secure.flickr.com/photos/63352809@N02/ Matteo Fortini ZeroMQ e Redis: soluzioni Open Source per l’integrazione di C