The footing for this case study is a SOA where multiple web applications communicate via REST interfaces.These apps can be split up into two camps: on the one hand there are apps for master data which rarely need to access other systems, and on the other hand there are many client apps that access the master data via a REST interface.Message queues are commonly used for this inter-process communication.
Instrumentation is automatic for supported versions of Bunny AMQP, and requires no additional configuration.
One way to increase responsiveness of web applications is to delegate work to background processes.
This diagram depicts a section of the current REST architecture: Our case study consists of two master data apps, one for article data and another for customer data, and two client apps.
The orders app needs access to the articles and customers master data, while the contract management only needs access to customer data.
As a junior developer it was a great opportunity to work with two excellent tools for background jobs: Rabbit MQ and
We’re fairly heavy users of Rabbit MQ as Paul described in his recent post Rabbit MQ: Front the Front Line.Message creation via Rabbit MQ also appears in transaction traces.Requires New Relic Ruby agent version 4.3.0 or higher.With Apache Qpid we strive to wrap an intuitive and easy to use messaging API around the AMQP model to handle as much of the complexity as possible (while still allowing you access to the nuts and bolts when you really need it), so that you can build highly performant and scalable applications with integrated messaging quickly and easily.AMQP, the Advanced Message Queuing Protocol, is an open standard for interoperable messaging at the wire protocol level.Recently I updated the service to use the new Akamai CCU REST API.