Skip to content
Nathan Leach edited this page May 21, 2021 · 3 revisions

AMQP is a standard wire-protocol for message queueing. Many systems implement AMQP endpoints for interoperability with multiple data sources. It is a standard wire-protocol rather than a standard API-protocol (such as JMS), making it a good choice as an endpoint implementation-agnostic method for reliably feeding data to remote systems.

While CxAnalytix does not feed data in real-time, sending record entries as messages to an AMQP endpoint allows for some advanced near-realtime and stream analytics applications. AMQP supports the concept of an Exchange which can be used to deliver records to different Queues based on header or topic routing criteria. The routing criteria can then be used, for example, to place messages in queues feeding applications covering disparate areas of concern.

Key Features of AMQP Output

  • Record feeds are compatible with pseudo transactions using the transactional publishing semantics.
  • Headers and routing keys can be set with static values and/or values composed of fields from each record entry using a key format specifier.
  • Filtering of records can be done prior to sending records via the Team and Project filtering configuration or via topic and/or header Exchange/Queue bindings.
  • Multiple AMQP endpoint connections may be defined for for failover re-connection to clustered MQs.
  • Record fields can be filtered with Pass or Reject filter specifications for any record type.
  • Record entries for all record types can be sent to a default exchange or an exchange specifically set for the record type.
  • The Exchange and Queue topology is not dictated by CxAnalytix; complex routing of data can be configured via Exchange bindings on the broker.