Message::Passing::ZeroMQ is a ZeroMQ transport for Message::Passing.
.
Designed for use as a log transport and aggregation mechanism for perl
applications, allowing you to aggregate structured and non-structured
log messages across the network in a non-blocking manner.
.
Clients (i.e. users of the Message::Passing::Output::ZeroMQ class)
connect to a server (i.e. a user of the Message::Passing::Input::ZeroMQ
class) via ZeroMQ's pub/sub sockets. These are setup to be lossy and
non-blocking, meaning that if the log-receiver process is down or slow,
then the application will queue a small (and configurable) amount of
logs on its side, and after that log messages will be dropped.
.
Whilst throwing away log messages isn't a good thing to do, or
something that you want to happen regularly, in many (especially web
application) contexts, network logging being a single point of failure
is not acceptable from a reliability and graceful degradation
standpoint.
.
The application grinding to a halt as a non-essential centralised
resource is unavailable (e.g. the log aggregation server) is
significantly less acceptable than the loss of non-essential logging
data.
Installed Size: 99.3 kB
Architectures: all