Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Purpose

The purpose of this document is to describe the functionality the Message Broker provides to the Router/API application in YOUnite MDM.

Description

The functionality that the YOUnite Router (i.e "Router" - the component of the YOUnite API Service that manages master data transfer between adaptors) requires from the Message Broker is relatively straightforward and is typical of most Message Bus systems.

From the Router’s standpoint, the Message Bus is the way the Router communicates with the Adaptors.  YOUnite creates will be one queue set up adaptor for incoming messages from the Router.  This queue will be used for state and data messages.  There will also be a queue for data and a queue for state that each adaptor can put messages on to be received by the Router.

There is also a Topic that all adaptors subscribe to and that messages are broadcasted on for the Router to post messages too.

One set of queues is used by the router to maintain adaptor state, one of the states is to effectively “pause” the adaptor from processing data messages.  In order to achieve this, the MB supports the temporary halting of delivery of certain types of messages.  In other words, it’s possible a queue may be put into a “paused_read-only” state where it should not process write messages, but should respond for any read requests for data.

Since an adaptor may be paused, data messages can queue up indefinitely.  Hence, it will be highly desirable to be able to get information on the data queue for a paused adaptor so a zone admin can see how many messages have been queued up and are awaiting processing.  

So, to summarize the Router:

  • Connects to the Message Broker and reestablished  connections (i.e. resume listeners) to durable but dynamically defined queues.

  • Creates queues for each adaptor upon creation

  • Destroys queues upon adaptor deletion

  • Can readMessage off a queue

  • Can postMessages to a queue

  • Can postMessage to a topic

  • Can temporarily halt delivery of certain types of messages

  • Can resume delivery of certain types of messages

  • Can inspect a queue (get overall stats--messages in wait, longest wait in queue, etc.)




  • No labels