Stroom Proxy
Stroom Proxy acts as a proxy for sending data to a Stroom instance/cluster. Stroom Proxy has various modes such as storing, aggregating and forwarding the received data. Stroom Proxies can be used to forward to other Stroom Proxy instances.
Stroom-Proxy’s primary role is to act as a front door for data being sent to Stroom.
Data can be sent to Stroom-Proxy in small chunks and it will aggregate the data into larger chunks (grouped by
Feed
Feed
A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple Streams of data that have been ingested into Stroom or output by a Pipeline. Typically a Feed will contain Streams of data that are all from one system and have a common data format.
Click to see more details... and
Stream Type
Stream Type
All Streams must have a Stream Type. The list of Stream Types is configured using the Property stroom.data.meta.metaTypes.
Click to see more details...) so that Stroom doesn’t have to process lots of small
Streams
Stream
A Stream is the unit of data that Stroom works with and will typically contain many Events.
Click to see more details....
It also provides a separation between the client and Stroom, so Stroom can be taken offline while data is still being accepted by Stroom-Proxy.
See Architecture for an example of how Stroom-Proxy is typically deployed.
API
Stroom-Proxy presents an identical HTTP POST /datafeed
API
API
Application Programming Interface. An interface that one system can present so other systems can use it to communicate. Stroom has a number of APIs, e.g. its many REST APIs and its /datafeed interface for data receipt.
Click to see more details... to Stroom, so clients can send the same data in the same way to either Stroom or Stroom-Proxy.
For more detail on sending data into Stroom-Proxy, see Sending Data.
It also presents a number of other APIs for administration and communication with other proxies.
For more detail on Stroom-Proxy’s other APIs, see Proxy API.
Functions
Stroom-Proxy has a number of key functions:
- Receipt Filtering - The process of filtering the incoming data based on the HTTP headers.
Data can either be Received, silently Dropped or Rejected with an error.
- Splitting - Splitting received
ZIP
ZIP
A compressed file format for storing a one or more files with an associated directory structure. Stroom and Stroom Proxy use the ZIP format for exporting content and data as well as its Proxy ZIP format for holding multiple streams of data with associated meta data.
Click to see more details... files by
Feed
Feed
A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple Streams of data that have been ingested into Stroom or output by a Pipeline. Typically a Feed will contain Streams of data that are all from one system and have a common data format.
Click to see more details... and
Stream Type
Stream Type
All Streams must have a Stream Type. The list of Stream Types is configured using the Property stroom.data.meta.metaTypes.
Click to see more details....
- Aggregation - Storing received data locally and forwarding it when the aggregation limits have been reached.
- Forwarding - Forwarding the received/aggregated data to one or more forward destinations.
- Instant Forwarding - Data is streamed to a single HTTP forward destination (i.e. Stroom or another Stroom-Proxy) as the data is received.
This function does not support multiple forward destinations or aggregations.
- Directory Scanning - Periodically scanning one or more directories for ZIP files in Stroom ZIP Format.
- Event Store - Stroom-Proxy presents an
API
API
Application Programming Interface. An interface that one system can present so other systems can use it to communicate. Stroom has a number of APIs, e.g. its many REST APIs and its /datafeed interface for data receipt.
Click to see more details... for receiving individual events.
This is to support applications that want to log events directly to Stroom-Proxy rather than writing them to rolled files locally.
For a more detailed explanation of each function, see Proxy Functions.
How to install Stroom-Proxy.
How Stroom Proxy is configured.
The key functions and capabilities of Stroom-Proxy.
Details of the various APIs presented by Stroom-Proxy.
A unique identifier that is assigned to each item of data received by Stroom-Proxy.
An overview of the architecture of Stroom-Proxy.