Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Completely Thread-Safe ZeroMQ Socket Interface for Scala

DZone's Guide to

A Completely Thread-Safe ZeroMQ Socket Interface for Scala

Free Resource

Today’s data climate is fast-paced and it’s not slowing down. Here’s why your current integration solution is not enough. Brought to you in partnership with Liaison Technologies.

A great tool for messaging-oriented architectures just appeared on GitHub.  A thread-safe ZeroMQ socket interface for Scala simply called "scala-zeromq" has been shared by the dev team at the video stream management company, mDialog.  Here's the introduction from GitHub:

scala-zeromq facilitates communication using the ZeroMQ messaging library. ZeroMQ is a message-oriented socket communication library that support several high-level messaging patterns, including request-reply, publish-subscribe and push-pull. For a thorough description of how ZeroMQ works, read the guide.

Unlike many ZeroMQ libraries, scala-zeromq provides a completely threadsafe ZeroMQ socket interface. All socket communications are conducted using an immutable handle called a SocketRef. Under the hood, scala-zeromq uses Akka to ensure all socket interactions are handled safely and efficiently.


Although Akka already provides its own ZeroMQ extension, some say it has design problems and it is not completely thread-safe.  This is definitely worth a look if you're working with Scala and Akka.

 

Is iPaaS solving the right problems? Not knowing the fundamental difference between iPaaS and iPaaS+ could cost you down the road. Brought to you in partnership with Liaison Technologies.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}