forked from zeromq/rfc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
spec_8.txt
59 lines (34 loc) · 3 KB
/
spec_8.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
The Majordomo Management Interface (MMI) defines a namespace and set of management services that MDP brokers may provide. MMI is layered on top of the 7/MDP protocol.
* Name: rfc.zeromq.org/spec:8/MMI
* Editor: Pieter Hintjens <[email protected]>
* State: stable
++ License
Copyright (c) 2011 iMatix Corporation.
This Specification is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This Specification is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses>.
++ Change Process
This Specification is a free and open standard[((bibcite fandos))] and is governed by the Digital Standards Organization's Consensus-Oriented Specification System (COSS)[((bibcite coss))].
++ Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119[((bibcite rfc2119))].
++ Goals
The Majordomo Management Interface (MMI) defines a namespace and set of management services that MDP brokers may provide. MMI is layered on top of the 7/MDP protocol.
The goals of MMI are to:
* Define a namespace for management services provided by a MDP broker to MDP client applications.
* Define a default set of management services that MMI-compatible brokers SHOULD implement.
++ Architecture
+++ Namespace
An MMI broker implementation MUST handle all services that start with "mmi." internally. It MUST disconnect any workers that attempt to register servics in this namespace.
+++ Default services
An MMI broker implementation MUST implement these services:
* **mmi.service** - accepts a request containing a service name, responds with "200" (Found) if there is at least one worker registered for the service, or "404" (Not found) if there are no workers registered for the service.
Any unimplemented services in the "mmi." namespace MUST result in a reply "501" (Not implemented).
+++ Reference Implementations
The C99 Majordomo examples from Chapter 4 of the Guide[((bibcite guide))] act as the prime reference implementation for MMI. Translations of the examples into other languages may be available.
++ References
[[bibliography]]
: rfc2119 : "Key words for use in RFCs to Indicate Requirement Levels" - [http://tools.ietf.org/html/rfc2119 ietf.org]
: fandos : "Definition of a Free and Open Standard" - [http://www.digistan.org/open-standard:definition digistan.org]
: coss : "Consensus Oriented Specification System" - [http://www.digistan.org/spec:1/COSS digistan.org]
: guide : "ØMQ - The Guide" - [http://zguide.zeromq.org zeromq.org]
[[/bibliography]]