Message Passing in Perl
These are some relevant links and resources from Dana Diederich's presentation about about Message Passing in Perl on May 3, 2012.
The description of the presentation on Meetup was:
Dana Diederich of LiveOps will be leading a discussion about an unusual method of message based programming in Perl. In the spirit of TIMTOWTDI (There Is More Than One Way To Do it), Dana will be presenting a new CPAN module that implements message passing using a venerable but still relevant mechanism. Key features of this methodology include seamless multi-processing without threads, clustering and highly scalable systems. The well-known and excellent POE module will also be lightly covered.
Dana released
IPC::Transit 0.1 on CPAN the day of the presentation. All the examples in the presentation used it.
It uses
System V IPCs.
- The OS kernel puts the message on the queue.
- It takes no additional time for the process.
- It's very efficient.
- It's pretty reliable, except it loses the queue when the box goes down. This can be appropriate when a higher layer handles retrying messages.
He uses this module to connect to
MongoDB and
MySQL . It adds scalability by allowing you to add the number of processes more easily.
For example, connecting to
MongoDB, the message can be a
JSON-formatted Mongo query.
future plans:
- He plans to expand it to use networking as well, because he has done similar modules before.
- It doesn't do Windows yet. He's open to look into that.
- Large message extension - send a token instead of the whole data, and have the module support getting that directly.
His web site is at
http://www.realms.org/ . (
@diederich on Twitter)
Topic revision: r1 - 2012-05-03 - 20:07:53 -
IanKluft