SlideShare a Scribd company logo
Normation – CC-BY-SA
normation.com 1
Scala and ZeroMQ
Events beyond the JVM
Scala and ZeroMQ 
Events beyond the JVM
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 2
Qui suis-je ?
Scalaist since...
q mid-2006 for personnal projects
q Rudder : full time Scala since mid-2009
q Projet LaFoSec : sécurité des langages fonctionnels (in French)
– Scala from the point of view of IT security
– 2010 paper for the Agence Nationnal de la Sécurité de SI (ANSSI)
– http://www.ssi.gouv.fr/fr/anssi/publications/publications-scientifiques/autres-publicati
ons/lafosec-securite-et-langages-fonctionnels.html
Co-founder
Lead-architect
far@normation.com @fanf42
François ARMAND
Normation – CC-BY-SA
normation.com 3
De quoi va-t-on parler ?
q ZeroMQ presentation
q Integration with Scala
q Code, code, code, code...
Normation – CC-BY-SA
normation.com 4
Scala and ZeroMQ
Events beyond the JVM
ZeroMQ :
Ounce upon a time,
the quest for the GrailMOM
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 5
MOM : Grail of IT integration
q Message Oriented Middleware (and Architecture)
q Grails of IT integration
Normation – CC-BY-SA
normation.com 6
ZeroMQ : history and presentation
q In the '90s, messaging middlewares :
q Banks / trading places:
q Need for hight speed Events interchange queues
q 2003 : Advanced Message Queuing Protocol
« Toward a commodity (message oriented) middleware »
– Message orientation
– Queuing
– Routing (including point-to-point and publish-and-subscribe),
– Reliability
– Security.
Normation – CC-BY-SA
normation.com 7
From AMQP to Nano
q AMQP version 1.0 : October 2011 (!!!)
q AMQP : Oasis Standard : October 2012
q RabbitMQ still refuses to implements v1.0
q 2004: iMatix, initiator of the project resigned and starts ZeroMQ
Hi Folks,
Here at iMatix we've participated since 2004 in AMQP but today we've
decided to end that. We're going to be killing support for OpenAMQ
and migrating our users to ZeroMQ, which is simpler, faster, and in
our view a better bet for our users.
We have serious, long lived, and unaddressed concerns with the AMQP
development process and today our worst predictions seem to have come
true: AMQP is a game for large firms, and ignores the needs of the
majority of users and vendors. For us, that means failure.
q 2012: iMatix, iniator of the ZeroMQ project and starts
Crossroads.io
q But it's dead because...
q 2013: Martin Sustrik, original author of ZeroMQ and
Crossroads.io, leaves to build Nano...
Normation – CC-BY-SA
normation.com 8
From AMQP to Nano
q AMQP version 1.0 : October 2011 (!!!)
q AMQP : Oasis Standard : October 2012
q RabbitMQ still refuses to implements v1.0
q 2004 : iMatix, initiator of the project resigned and starts ZeroMQ
Hi Folks,
Here at iMatix we've participated since 2004 in AMQP but today we've
decided to end that. We're going to be killing support for OpenAMQ
and migrating our users to ZeroMQ, which is simpler, faster, and in
our view a better bet for our users.
We have serious, long lived, and unaddressed concerns with the AMQP
development process and today our worst predictions seem to have come
true: AMQP is a game for large firms, and ignores the needs of the
majority of users and vendors. For us, that means failure.
q 2012 : iMatix, iniator of the ZeroMQ project and starts
crossroads.io
q But that dead because...
q 2013 : Martin Sustrik, original author of ZeroMQ and
Crossroads.io, leaves to build Nano...
Normation – CC-BY-SA
normation.com 9
ZeroMQ
Ø Not a MOM (no broker, no queues, etc)   
Ø Socket library that acts as a concurrency framework. 
Ø Carries messages across inproc, IPC, TCP, and multicast. 
Ø Connect N-to-N via fanout, pubsub, pipeline, request-reply. 
Ø Asynch I/O for scalable multicore message-passing apps. 
Ø 40+ languages including C, C++, Java, .NET, Python. 
Ø http://zguide.zeromq.org/
Normation – CC-BY-SA
normation.com 10
Scala and ZeroMQ
Events beyond the JVM
Sockets for this millenium
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 11
ZeroMQ sockets
q « It's sockets on steroids. It's like mailboxes with routing. It's fast! »
q ZeroMQ patterns (and sockets) :
q Request-reply
– Connects a set of clients to a set of services.
– This is a remote procedure call and task distribution pattern.
q Pub-sub
– Connects a set of publishers to a set of subscribers.
– This is a data distribution pattern.
q Pipelines
– Connects nodes in a fan-out/fan-in pattern that can have multiple steps and loops.
– This is a parallel task distribution and collection pattern.
q Exclusive pair
– Connects two sockets exclusively.
– This is a pattern for connecting two threads in a process
– Not to be confused with "normal" pairs of sockets.
Normation – CC-BY-SA
normation.com 12
ZeroMQ sockets
q « It's sockets on steroids. It's like mailboxes with routing. It's fast! »
q ZeroMQ patterns (and sockets) :
q Request-reply
– Connects a set of clients to a set of services.
– This is a remote procedure call and task distribution pattern.
q Pub-sub
– Connects a set of publishers to a set of subscribers.
– This is a data distribution pattern.
q Pipelines
– Connects nodes in a fan-out/fan-in pattern that can have multiple steps and loops.
– This is a parallel task distribution and collection pattern.
q Exclusive pair
– Connects two sockets exclusively.
– This is a pattern for connecting two threads in a process
– Not to be confused with "normal" pairs of sockets.
Normation – CC-BY-SA
normation.com 13
Scala and ZeroMQ
Events beyond the JVM
Scala and ZeroMQ
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 14
Scala and ZeroMQ
q C-Scala native binding
q http://zeromq.org/bindings:scala-binding
q Uses JNA
q Only supports libzmq v2.1
q Akka integration
q Akka-zeromq module
q http://doc.akka.io/docs/akka/2.2.0/scala/zeromq.html
q Documentation and example are sparses
Normation – CC-BY-SA
normation.com 15
Scala and ZeroMQ - remarks
q I'm still believing AKKA is Scala killer-app
q It went a looooooooooooooooooong way since my last try 3 years ago
q I'm believing ZeroMQ will be in all IT infrastructures soon
q I'm still HATING AKKA untyped model
q Next time, I'm going to try Typed Actor / Channel
Normation – CC-BY-SA
normation.com 16
Scala and ZeroMQ
Events beyond the JVM
Pub/Sub.
Young people these days
have got it easy
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 17
ZeroMQ sockets : Pub / Sub
q Publish / Subscribes sockets
q It's just work, nothing to add
Normation – CC-BY-SA
normation.com 18
ZeroMQ sockets : Pub / Sub
Code !
https://github.com/fanf/scala_zeromq/tree/master/src/main/scala/psug/zeromq/pubsub
Normation – CC-BY-SA
normation.com 19
Scala and ZeroMQ
Events beyond the JVM
Req/Rep.
Because waiting for answer
is hard.
François ARMAND
Directeur R&D - Normation
far@normation.com
Normation – CC-BY-SA
normation.com 20
ZeroMQ sockets : Req / Rep
q Request / Reply sockets
q Statefull request ↔ reply cycles
Normation – CC-BY-SA
normation.com 21
ZeroMQ sockets : Req / Rep
Code !
https://github.com/fanf/scala_zeromq/tree/master/src/main/scala/psug/zeromq/reqrep
Normation – CC-BY-SA
normation.com 22
Scala and ZeroMQ
Events beyond the JVM
Questions ?
François ARMAND
Directeur R&D - Normation
far@normation.com

More Related Content

ODP
Scala.io 2013 - Scala and ZeroMQ: Events beyond the JVM
ODP
CurveZMQ, ZMTP and other Dubious Characters
PDF
Switch or broker
PDF
NullMQ @ PDX
PPTX
zeromq
PDF
What we've learned from running thousands of production RabbitMQ clusters - L...
ODP
Fosdem 2009
PDF
An update from the RabbitMQ team - Michael Klishin
Scala.io 2013 - Scala and ZeroMQ: Events beyond the JVM
CurveZMQ, ZMTP and other Dubious Characters
Switch or broker
NullMQ @ PDX
zeromq
What we've learned from running thousands of production RabbitMQ clusters - L...
Fosdem 2009
An update from the RabbitMQ team - Michael Klishin

What's hot (20)

ODP
RestMS Introduction
KEY
PPTX
What is RabbitMQ ?
ODP
Overview of ZeroMQ
PDF
ZeroMQ with NodeJS
PDF
Introduction to ZeroMQ - eSpace TechTalk
KEY
Europycon2011: Implementing distributed application using ZeroMQ
PDF
Zmq in context of openstack
PDF
Keynote: Idiomatic RabbitMQ - Gavin M Roy
KEY
Real time system_performance_mon
PDF
ZeroMQ - Sockets on steroids!
KEY
RabbitMQ And Nanite
PDF
Introduction to AMQP Messaging with RabbitMQ
ODP
FOSDEM 2011 - 0MQ
PPT
Amqp Basic
PDF
Messaging Standards and Systems - AMQP & RabbitMQ
PDF
Getting started with IOT Development using Fedora on ARM
PPTX
The RabbitMQ Message Broker
PDF
Distributed messaging with AMQP
PPTX
Message Broker System and RabbitMQ
RestMS Introduction
What is RabbitMQ ?
Overview of ZeroMQ
ZeroMQ with NodeJS
Introduction to ZeroMQ - eSpace TechTalk
Europycon2011: Implementing distributed application using ZeroMQ
Zmq in context of openstack
Keynote: Idiomatic RabbitMQ - Gavin M Roy
Real time system_performance_mon
ZeroMQ - Sockets on steroids!
RabbitMQ And Nanite
Introduction to AMQP Messaging with RabbitMQ
FOSDEM 2011 - 0MQ
Amqp Basic
Messaging Standards and Systems - AMQP & RabbitMQ
Getting started with IOT Development using Fedora on ARM
The RabbitMQ Message Broker
Distributed messaging with AMQP
Message Broker System and RabbitMQ
Ad

Viewers also liked (7)

PDF
Building custom kernels for IPython
PDF
Introduction to ZeroMQ
KEY
Distributed app development with nodejs and zeromq
PDF
Software Architecture over ZeroMQ
PPTX
Build reliable, traceable, distributed systems with ZeroMQ
KEY
Zero mq logs
PDF
Intro to Spark and Spark SQL
Building custom kernels for IPython
Introduction to ZeroMQ
Distributed app development with nodejs and zeromq
Software Architecture over ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQ
Zero mq logs
Intro to Spark and Spark SQL
Ad

Similar to Scala and ZeroMQ: Events beyond the JVM (20)

PDF
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
ODP
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
PDF
Oracle Developer Tour Latam Nowadays Architecture Trends, from Monolith to Mi...
PDF
Rudder: what's new and what's next? Roadmap, vision and thoughts
PDF
X by orange; una telco en la nube
PDF
Service Mesh Pain & Gain. Experiences from a client project.
PPTX
OpenStack 2012 fall summit observation - Quantum/SDN
PDF
The state of server-side Swift
PDF
Oracle Code Javaday Sao Paulo Nowadays Architecture Trends, from Monolith to ...
PDF
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
PDF
Switchdev - No More SDK
PDF
What is a Service Mesh and what can it do for your Microservices
PPTX
Intro to Project Calico: a pure layer 3 approach to scale-out networking
PPTX
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
PDF
Securing IoT Applications
PDF
Security Goodness with Ruby on Rails
PPTX
Quick Yang v1.0
PPTX
Quick Yang v1.0
PDF
NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP)
PDF
The State of WebSockets in Django
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
Oracle Developer Tour Latam Nowadays Architecture Trends, from Monolith to Mi...
Rudder: what's new and what's next? Roadmap, vision and thoughts
X by orange; una telco en la nube
Service Mesh Pain & Gain. Experiences from a client project.
OpenStack 2012 fall summit observation - Quantum/SDN
The state of server-side Swift
Oracle Code Javaday Sao Paulo Nowadays Architecture Trends, from Monolith to ...
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Switchdev - No More SDK
What is a Service Mesh and what can it do for your Microservices
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Securing IoT Applications
Security Goodness with Ruby on Rails
Quick Yang v1.0
Quick Yang v1.0
NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP)
The State of WebSockets in Django

More from RUDDER (20)

PDF
What if configuration management didn't need to be lvl60 in dev?
PDF
Servers compliance: audit, remediation, proof
PDF
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
PDF
OW2Con - Configurations, do you prove yours?
PDF
The new plugin ecosystem in RUDDER 5.0
PDF
What uses for observing operations of Configuration Management?
PDF
UX challenges of a UI-centric config management tool
PDF
What happened in RUDDER in 2018 and what’s next?
PDF
What is RUDDER and when should I use it?
PDF
Fosdem - Configurations do you prove yours?
PDF
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
PDF
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
PDF
Stay up - voyage d'un éditeur de logiciels libres
PDF
How we scaled Rudder to 10k, and the road to 50k
PDF
What's new and what's next in Rudder
PDF
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
PDF
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
PDF
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
PDF
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
PDF
RUDDER - Continuous Configuration (configuration management + continuous aud...
What if configuration management didn't need to be lvl60 in dev?
Servers compliance: audit, remediation, proof
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OW2Con - Configurations, do you prove yours?
The new plugin ecosystem in RUDDER 5.0
What uses for observing operations of Configuration Management?
UX challenges of a UI-centric config management tool
What happened in RUDDER in 2018 and what’s next?
What is RUDDER and when should I use it?
Fosdem - Configurations do you prove yours?
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Stay up - voyage d'un éditeur de logiciels libres
How we scaled Rudder to 10k, and the road to 50k
What's new and what's next in Rudder
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
RUDDER - Continuous Configuration (configuration management + continuous aud...

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Modernizing your data center with Dell and AMD
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
Modernizing your data center with Dell and AMD
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Network Security Unit 5.pdf for BCA BBA.
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Review of recent advances in non-invasive hemoglobin estimation

Scala and ZeroMQ: Events beyond the JVM

  • 1. Normation – CC-BY-SA normation.com 1 Scala and ZeroMQ Events beyond the JVM Scala and ZeroMQ  Events beyond the JVM François ARMAND Directeur R&D - Normation far@normation.com
  • 2. Normation – CC-BY-SA normation.com 2 Qui suis-je ? Scalaist since... q mid-2006 for personnal projects q Rudder : full time Scala since mid-2009 q Projet LaFoSec : sécurité des langages fonctionnels (in French) – Scala from the point of view of IT security – 2010 paper for the Agence Nationnal de la Sécurité de SI (ANSSI) – http://www.ssi.gouv.fr/fr/anssi/publications/publications-scientifiques/autres-publicati ons/lafosec-securite-et-langages-fonctionnels.html Co-founder Lead-architect far@normation.com @fanf42 François ARMAND
  • 3. Normation – CC-BY-SA normation.com 3 De quoi va-t-on parler ? q ZeroMQ presentation q Integration with Scala q Code, code, code, code...
  • 4. Normation – CC-BY-SA normation.com 4 Scala and ZeroMQ Events beyond the JVM ZeroMQ : Ounce upon a time, the quest for the GrailMOM François ARMAND Directeur R&D - Normation far@normation.com
  • 5. Normation – CC-BY-SA normation.com 5 MOM : Grail of IT integration q Message Oriented Middleware (and Architecture) q Grails of IT integration
  • 6. Normation – CC-BY-SA normation.com 6 ZeroMQ : history and presentation q In the '90s, messaging middlewares : q Banks / trading places: q Need for hight speed Events interchange queues q 2003 : Advanced Message Queuing Protocol « Toward a commodity (message oriented) middleware » – Message orientation – Queuing – Routing (including point-to-point and publish-and-subscribe), – Reliability – Security.
  • 7. Normation – CC-BY-SA normation.com 7 From AMQP to Nano q AMQP version 1.0 : October 2011 (!!!) q AMQP : Oasis Standard : October 2012 q RabbitMQ still refuses to implements v1.0 q 2004: iMatix, initiator of the project resigned and starts ZeroMQ Hi Folks, Here at iMatix we've participated since 2004 in AMQP but today we've decided to end that. We're going to be killing support for OpenAMQ and migrating our users to ZeroMQ, which is simpler, faster, and in our view a better bet for our users. We have serious, long lived, and unaddressed concerns with the AMQP development process and today our worst predictions seem to have come true: AMQP is a game for large firms, and ignores the needs of the majority of users and vendors. For us, that means failure. q 2012: iMatix, iniator of the ZeroMQ project and starts Crossroads.io q But it's dead because... q 2013: Martin Sustrik, original author of ZeroMQ and Crossroads.io, leaves to build Nano...
  • 8. Normation – CC-BY-SA normation.com 8 From AMQP to Nano q AMQP version 1.0 : October 2011 (!!!) q AMQP : Oasis Standard : October 2012 q RabbitMQ still refuses to implements v1.0 q 2004 : iMatix, initiator of the project resigned and starts ZeroMQ Hi Folks, Here at iMatix we've participated since 2004 in AMQP but today we've decided to end that. We're going to be killing support for OpenAMQ and migrating our users to ZeroMQ, which is simpler, faster, and in our view a better bet for our users. We have serious, long lived, and unaddressed concerns with the AMQP development process and today our worst predictions seem to have come true: AMQP is a game for large firms, and ignores the needs of the majority of users and vendors. For us, that means failure. q 2012 : iMatix, iniator of the ZeroMQ project and starts crossroads.io q But that dead because... q 2013 : Martin Sustrik, original author of ZeroMQ and Crossroads.io, leaves to build Nano...
  • 9. Normation – CC-BY-SA normation.com 9 ZeroMQ Ø Not a MOM (no broker, no queues, etc)    Ø Socket library that acts as a concurrency framework.  Ø Carries messages across inproc, IPC, TCP, and multicast.  Ø Connect N-to-N via fanout, pubsub, pipeline, request-reply.  Ø Asynch I/O for scalable multicore message-passing apps.  Ø 40+ languages including C, C++, Java, .NET, Python.  Ø http://zguide.zeromq.org/
  • 10. Normation – CC-BY-SA normation.com 10 Scala and ZeroMQ Events beyond the JVM Sockets for this millenium François ARMAND Directeur R&D - Normation far@normation.com
  • 11. Normation – CC-BY-SA normation.com 11 ZeroMQ sockets q « It's sockets on steroids. It's like mailboxes with routing. It's fast! » q ZeroMQ patterns (and sockets) : q Request-reply – Connects a set of clients to a set of services. – This is a remote procedure call and task distribution pattern. q Pub-sub – Connects a set of publishers to a set of subscribers. – This is a data distribution pattern. q Pipelines – Connects nodes in a fan-out/fan-in pattern that can have multiple steps and loops. – This is a parallel task distribution and collection pattern. q Exclusive pair – Connects two sockets exclusively. – This is a pattern for connecting two threads in a process – Not to be confused with "normal" pairs of sockets.
  • 12. Normation – CC-BY-SA normation.com 12 ZeroMQ sockets q « It's sockets on steroids. It's like mailboxes with routing. It's fast! » q ZeroMQ patterns (and sockets) : q Request-reply – Connects a set of clients to a set of services. – This is a remote procedure call and task distribution pattern. q Pub-sub – Connects a set of publishers to a set of subscribers. – This is a data distribution pattern. q Pipelines – Connects nodes in a fan-out/fan-in pattern that can have multiple steps and loops. – This is a parallel task distribution and collection pattern. q Exclusive pair – Connects two sockets exclusively. – This is a pattern for connecting two threads in a process – Not to be confused with "normal" pairs of sockets.
  • 13. Normation – CC-BY-SA normation.com 13 Scala and ZeroMQ Events beyond the JVM Scala and ZeroMQ François ARMAND Directeur R&D - Normation far@normation.com
  • 14. Normation – CC-BY-SA normation.com 14 Scala and ZeroMQ q C-Scala native binding q http://zeromq.org/bindings:scala-binding q Uses JNA q Only supports libzmq v2.1 q Akka integration q Akka-zeromq module q http://doc.akka.io/docs/akka/2.2.0/scala/zeromq.html q Documentation and example are sparses
  • 15. Normation – CC-BY-SA normation.com 15 Scala and ZeroMQ - remarks q I'm still believing AKKA is Scala killer-app q It went a looooooooooooooooooong way since my last try 3 years ago q I'm believing ZeroMQ will be in all IT infrastructures soon q I'm still HATING AKKA untyped model q Next time, I'm going to try Typed Actor / Channel
  • 16. Normation – CC-BY-SA normation.com 16 Scala and ZeroMQ Events beyond the JVM Pub/Sub. Young people these days have got it easy François ARMAND Directeur R&D - Normation far@normation.com
  • 17. Normation – CC-BY-SA normation.com 17 ZeroMQ sockets : Pub / Sub q Publish / Subscribes sockets q It's just work, nothing to add
  • 18. Normation – CC-BY-SA normation.com 18 ZeroMQ sockets : Pub / Sub Code ! https://github.com/fanf/scala_zeromq/tree/master/src/main/scala/psug/zeromq/pubsub
  • 19. Normation – CC-BY-SA normation.com 19 Scala and ZeroMQ Events beyond the JVM Req/Rep. Because waiting for answer is hard. François ARMAND Directeur R&D - Normation far@normation.com
  • 20. Normation – CC-BY-SA normation.com 20 ZeroMQ sockets : Req / Rep q Request / Reply sockets q Statefull request ↔ reply cycles
  • 21. Normation – CC-BY-SA normation.com 21 ZeroMQ sockets : Req / Rep Code ! https://github.com/fanf/scala_zeromq/tree/master/src/main/scala/psug/zeromq/reqrep
  • 22. Normation – CC-BY-SA normation.com 22 Scala and ZeroMQ Events beyond the JVM Questions ? François ARMAND Directeur R&D - Normation far@normation.com