The PreEmptive Analytics Data Hub is server software that accepts, queues, and dispatches analytics messages to configurable destinations. It is designed to function as the "one endpoint" for all your applications instrumented with PreEmptive Analytics tools. By pointing all instrumentation to the Data Hub, you can change where your data goes without having to update and redistribute instrumented applications, increasing the timeliness of collected data. Additionally, you can filter which messages go to each destination, for instance to ensure that a particular application's data is always kept within your network. Finally, the Data Hub provides resilience during outages by queuing and retrying messages until they are successfully delivered to all destinations.
The Data Hub operates in three distinct parts: the Endpoint Web Service, the Dispatch Service, and RabbitMQ, a third-party queuing technology.
The Endpoint Web Service is an Internet Information Services (IIS) web service that is responsible for accepting incoming HTTP requests from clients. These messages are queued in the RabbitMQ instance for later processing by the Dispatch Service. The endpoint will operate without any special configuration, but you may wish to configure SSL or other settings.
The Dispatch Service is a Windows Service that processes queued messages and dispatches them to configured destinations. The Dispatch Service must be configured with the target destinations. You may also want to configure the default timeout and retry settings.
The third-party RabbitMQ instance is used to store messages on disk before they are dispatched. This component contains various queues: a single queue for incoming messages that have not been processed by the Dispatch Service (the endpoint queue), and two additional queues for each destination (the error and offline queues) that the Dispatch Service uses to handle messages whose previous attempts failed.
The following definitions will be helpful when using this guide or reading log messages.