NAME

Zing - Multi-Process Management System

ABSTRACT

Actor Toolkit and Multi-Process Management System

SYNOPSIS

use Zing;

my $zing = Zing->new(scheme => ['MyApp', [], 1]);

# $zing->execute;

DESCRIPTION

This distribution includes an actor-model architecture toolkit and Redis-powered multi-process management system which provides primatives for building powerful, reactive, concurrent, distributed, and resilient message-driven applications in Perl 5. If you're unfamiliar with this architectural pattern, learn more about "the actor model".

INHERITS

This package inherits behaviors from:

Zing::Watcher

LIBRARIES

This package uses type constraints from:

Zing::Types

ATTRIBUTES

This package has the following attributes:

scheme

scheme(Scheme)

This attribute is read-only, accepts (Scheme) values, and is required.

METHODS

This package implements the following methods:

start

start() : Kernel

The start method builds a Zing::Kernel and executes its event-loop.

start example #1
# given: synopsis

$zing->start;

FEATURES

While this is, at present, a proof-of-concept, the API is not expected to change. The documentation is a work-in-progress. Please see the examples included for demonstrations of the objects in action. The following is a list of features currently supported by the framework:

  • parallel processing

  • asynchronous programming

  • event-driven applications

  • actor-model based framework

  • process (actor) mailboxes

  • distributed processes (actors)

  • erlang-style supervision trees

  • hot-reloadable processes (actors)

  • automated multi-process management

  • atomicity without lock management

  • multitasking processes (event-loop actors)

  • chainable/extendable process (actor) event-loops

  • none-blocking yieldable routines

  • high performance message queues

  • high performance message channels

  • high performance message passing

  • built-in high performance log shipping

  • operable as a cluster or single-node

  • resilient to memory leaks

  • no new funcs/idioms

  • no callbacks, futures or promises

  • no zombie processes

SEE ALSO

The Actor Model

Concurrent Computation

Concurrency in Go/Erlang

The Akka Project

The Actorkit Project

The Orleans Project

The Pyakka Project

The Reactive Manifesto

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues