Flow-server

Server Features

The flow-server is a highly performant and resilient distributed server cluster. When flows are deployed on the flow-server, they become message processing pipelines that either follow a request-response pattern or send data "one way" to be processed in a "fire and forget" fashion.

REST API

The flow-server provides a REST-based API for creating new flows on the server. The Flow Management API can also be used to retrieve details from deployed flows, update existing flows, and delete flows from the server.

For more information on how to use the flow-server’s API, check out the Management API documentation.

Heartbeat

Another feature of the flow-server is a management dashboard called Heartbeat. This web-accessible UI provides a quick overview of how many messages have been or are currently being processed over a given timeframe. The following image demonstrates what the Heartbeat interface looks like:

The Heartbeat dashboard displays a total count of in-flight

Heartbeat also allows users to check on the status of deployed flows, trace messages passing through the flows, and manage access to the flows' endpoints. For more information on Heartbeat and its features, check out the Management and Monitoring documentation.

Server Variations

The flow-server is primarily deployed in the cloud to take advantage of clustering and database persistence, but there are other, lighter weight variations available. The Beatbox flow-server, for instance, is a standalone application that uses local storage. Beatbox is ideal for on-premises, secure-zone deployments. See the Beatbox Setup documentation for more information.

Another variation of the flow-server is the in-memory server. As the name implies, it temporarily resides in memory and is therefore not meant for production environments. The in-memory server is best suited for testing and pairs naturally with the Utilihive SDK.