{"id":19973274,"url":"https://github.com/zeromq/majordomo","last_synced_at":"2025-05-04T02:31:54.779Z","repository":{"id":4176398,"uuid":"5292760","full_name":"zeromq/majordomo","owner":"zeromq","description":"Majordomo Project","archived":false,"fork":false,"pushed_at":"2020-05-02T20:24:04.000Z","size":19907,"stargazers_count":116,"open_issues_count":10,"forks_count":52,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-08T01:35:06.405Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeromq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-04T03:18:18.000Z","updated_at":"2025-03-21T05:45:47.000Z","dependencies_parsed_at":"2022-08-25T21:12:11.945Z","dependency_job_id":null,"html_url":"https://github.com/zeromq/majordomo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fmajordomo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fmajordomo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fmajordomo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fmajordomo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeromq","download_url":"https://codeload.github.com/zeromq/majordomo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252278965,"owners_count":21722795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T03:10:51.452Z","updated_at":"2025-05-04T02:31:54.268Z","avatar_url":"https://github.com/zeromq.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"A service oriented broker that implements the Majordomo protocol\n----------------------------------------------------------------\n\nThis broker connects a set of clients to a set of workers who register particular \"services\". \nClient requests are then sent to workers according to their availability, and replies sent\nback to the original clients.\n\nThis implementation was developed using zproject and zproto projects.\n\nThe protocol, Majordomo Protocol 0.2, is specified in\n[18/MDP](http://rfc.zeromq.org/spec:18)\n\nFor the older implementation, based on the Guide, see\n[majordomo/libmdp](libmdp).\n\nReference implementations of older wire protocols:\n\n* [MDP/0.1](http://rfc.zeromq.org/spec:7), see the git tag\n  [wire-protocol-0.1](https://github.com/zeromq/majordomo/tree/wire-protocol-0.1).\n* [MDP/0.2](http://rfc.zeromq.org/spec:18), see the git tag\n  [wire-protocol-0.2](https://github.com/zeromq/majordomo/tree/wire-protocol-0.2).\n\n\nArchitecture\n------------\n\n* Definitions of messages and codecs are in XML files in the directory src\n* Due to the peculiar nature of the Majordomo protocol, there is one type of server,\n  know as broker, and two types of clients: client and worker. mdp_broker.xml defines\n  the broker's state machine; mdp_client.xml and mdp_worker.xml define the client's\n  and worker's state machine respectively.\n* project.xml was adapted from zproject. generate.sh was copied directly from zproject.\n  It generates autogen.sh (which is used in the first step of configuring the project).\n \n\nContribution process\n--------------------\n\n* C4 process is at http://rfc.zeromq.org/spec:16.\n* All commits are be backed by issues.\n* All commits are made as pull requests from forked work repository.\n\n\nBuilding and installing\n-----------------------\n\n* ./autogen.sh\n* ./configure\n* make\n* make install\n\nSee also\n--------\n\n* [GSL, iMatix code generator](https://github.com/imatix/gsl) - tool for generating code\n  from XML-based models\n* [zeromq/zproto](https://github.com/zeromq/zproto) - A protocol framework for ZeroMQ\n* [zeromq/zproject](https://github.com/zeromq/zproject) - CLASS Project Generator\n* [zeromq/czmq](https://github.com/zeromq/czmq) - High-level C binding for ZeroMQ\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fmajordomo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeromq%2Fmajordomo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fmajordomo/lists"}