Majordomo Project
C C++ PHP Shell C# Ruby Other
Latest commit 1315469 Feb 4, 2016 @hintjens hintjens Merge pull request #62 from jonefmc/mdi
Failed to load latest commit information.
bindings added openpgm support 64 bit build Oct 11, 2012
doc Remove generated files; add .gitignore Nov 12, 2015
libmdp Update zsocket_bind () function calls May 2, 2014
asciidoc.conf New implementation, based on zproto May 23, 2015 New implementation, based on zproto May 23, 2015

A service oriented broker that implements the Majordomo protocol

This broker connects a set of clients to a set of workers who register particular "services". Client requests are then sent to workers according to their availability, and replies sent back to the original clients.

This implementation was developed using zproject and zproto projects.

The protocol, Majordomo Protocol 0.2, is specified in 18/MDP

For the older implementation, based on the Guide, see zeromq/majordomo.

Reference implementations of older wire protocols:


  • Definitions of messages and codecs are in XML files in the directory src
  • Due to the peculiar nature of the Majordomo protocol, there is one type of server, know as broker, and two types of clients: client and worker. mdp_broker.xml defines the broker's state machine; mdp_client.xml and mdp_worker.xml define the client's and worker's state machine respectively.
  • project.xml was adapted from zproject. was copied directly from zproject. It generates (which is used in the first step of configuring the project).

Contribution process

  • C4 process is at
  • All commits are be backed by issues.
  • All commits are made as pull requests from forked work repository.

Building and installing

  • ./
  • ./configure
  • make
  • make install

See also