wiki:wade/messageQueue/technicalTerminology

Version 4 (modified by wade, 16 years ago) (diff)

--

=AMQP Model= A logical framework representing the key entities and semantics which must be made available by an AMQP compliant server implementation, such that the server can be meaningfully manipulated by AMQP Commands sent from a client in order to achieve the semantics defined in this specification.

  1. Connection: A network connection, e.g. a TCP/IP socket connection.
  2. Session: A named dialog between peers. Within the context of a Session, exactly-once delivery is guaranteed.
  3. Channel: An independent bidirectional stream within a multiplexed connection. The physical transport for a connected session.
  4. Client: The initiator of an AMQP connection or session. AMQP is not symmetrical. Clients produce and consume messages whereas servers queue and route messages.
  5. Server: The process that accepts client connections and implements the AMQP message queuing and routing functions. Also known as "broker"
  6. Peer: Either party in an AMQP dialog. An AMQP connection involves exactly two peers (one is the client, one is the server)
  7. Partner: The term Partner is used as a convenient shorthand for describing the "other" Peer when describing an

interaction between two Peers. For example if we have defined Peer A and Peer B as opposite ends of a given interaction, then Peer B is Peer A's Partner and Peer A is Peer B's partner.

  1. Assembly: An ordered collection of Segments that form a logical unit of work.
  2. Segment: An ordered collection of Frames that together form a complete syntactic sub-unit of an Assembly.
  3. Frame: The atomic unit of transmission in AMQP. A Frame is an arbitrary fragment of a Segment.
  4. Control: A formally defined one-way instruction assumed to be unreliably transported.
  5. Command: A formally defined and identified instruction requiring acknowledgement. AMQP attempts to reliably

transport Commands.

  1. Exception: A formally defined error condition that may occur during execution of one or more commands.
  2. Class: A collection of AMQP commands or controls that deal with a specific type of functionality.
  3. Header: A specific type of Segment that describes properties of message data.
  4. Body: A specific type of Segment that contains application data. Body segments are entirely opaque - the server

does not examine or modify these in any way.

  1. Content: The message data contained within a body segment.
  2. Exchange: An entity within the server which receives messages from producer applications and routes these to

message queues within the server.

  1. Exchange Type: The classification of an exchange based on routing semantics.
  2. Message Queue: A named entity that holds messages until they can be sent to consumer applications.
  3. Binding: A relationship that defines routing between a Message Queue and an Exchange.
  4. Binding Key: A name for a binding. Some exchange types may use this as a pattern that defines the routing behavior

for the Binding.

  1. Routing Key: A message header that an Exchange may use to decide how to route a specific message.
  2. Durable: A server resource that survives a server restart.
  3. Transient: A server resource that is wiped or reset after a server restart.
  4. Persistent: A message that the server holds on reliable disk storage and MUST NOT lose after a server restart.
  5. Non-Persistent: A message that the server holds in memory and MAY lose after a server restart.
  6. Consumer: A client application that requests messages from a message queue.
  7. Producer: A client application that publishes messages to an exchange.
  8. Virtual Host: A collection of exchanges, message queues and associated objects. Virtual hosts are independent

server domains that share a common authentication and encryption environment. The client application chooses a virtual host after logging in to the server.

  1. Topic: Usually a means of distributing messages; AMQP implements topics using one or more types of exchange.
  2. Service: Usually synonymous with server. The AMQP standard uses "server" to conform with IETF standard nomenclature and to clarify the roles of each party in the protocol (both sides may be AMQP services).
  3. Broker: synonymous with server. The AMQP standard uses the terms "client" and "server" to conform with IETF standard nomenclature.