[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
--
Alexander
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
--
Alexander
More information about the Haskell-Cafe
mailing list