[Haskell-cafe] [ANN] network-transport-zeromq-0.1.

Alexander V Vershilov alexander.vershilov at gmail.com
Fri Mar 28 01:28:54 UTC 2014

Sorry, forgot to add a links:

hackage: http://hackage.haskell.org/package/network-transport-zeromq
github:     https://github.com/tweag/network-transport-zeromq


On 28 March 2014 03:03, Alexander V Vershilov
<alexander.vershilov at gmail.com> wrote:
> Hi,
> I'm happy to announce a new network-transport backend based on the 0MQ
> brokerless protocol [1]. This implementation makes it possible to the
> wealth of ZeroMQ transports through a simple and shared API. In
> particular, ZeroMQ supports authenticated communication channels,
> encryption, efficient multicast and throughput enhancement techniques
> such as message batching.
> Wrapping a subset of the ZeroMQ API behind the network-transport API
> makes it possible for a wealth of higher-level libraries such as
> distributed-process and HdpH to communicate over ZeroMQ seamlessly,
> with little to no modification necessary.
> Network transport zeromq provides:
>   * basic network transport API, ability to use channels and send
>      messages over reliable connections between endpoints.
>   * multicasting. Multicasting reliable and ordered in absence of a long
>     network failures, i.e. if message A is send before message B, then
>     message A will be delivered before message B to every subscriber in
>     multicast group.
>   * basic plain text authorization.
>   * 0mq driven reliability. (automatic connection restart without message
>     loose).
>   * ability mark connections as broken, this may be required to stop
>     automatic reconnect.
> We currently have a few performance issues that cause a consistent 30%
> slowdown in performance of network-transport-zmq over TCP, but we’re
> working on it. ZeroMQ should in fact *improve* performance over raw TCP
> in many use cases thanks to intelligent batching of queued messages.
> Current approach is an early release of the library in order to gather
> feedback. There is a large TODO list with a set of features that may be useful
> for a big set of use cases like different authorization mechanisms including
> certificate based, support of connection encryption, support for unreliable
> connections, heartbeating and service discovery support. This features
> will be implemented in short milestones.
> While we believe network-transport-zmq to be useful in its own right,
> it is only a stepping stone towards making the rich communication
> patterns implemented in ZeroMQ available through distributed-process.
> This will allow for writing ZeroMQ applications with all the power of the
> Process monad, supervision hierarchies, powerful type based matching
> abstractions and intuitive message sending primitives.
> All feedback are appreciated. If you have a commercial interest around this
> project then feel free to contact [2].
> [1] http://zeromq.org/
> [2] mailto:sales at tweag.io
> --
> Alexander Vershilov
>   mail-to: alexander.vershilov at tweag.io
> --
> Alexander


More information about the Haskell-Cafe mailing list