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
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback