Siddhi 5.1 User Guide¶
This section provides information on using and running Siddhi.
Checkout the Siddhi features to get an idea on what it can do in brief.
Siddhi Application is the artifact that defines the real-time event processing logic of Siddhi as a SQL like script with
.siddhi file extension. It contains consumers(sources), producers(sinks), streams, queries, tables, functions and other necessary contracts depicting how the events should be consumed, processed and published.
To write Siddhi Applications using Siddhi Streaming SQL refer Siddhi Query Guide for details.
For specific API information on Siddhi functions and features refer Siddhi API Guide.
Find out about the supported Siddhi extensions and their versions here.
Executing Siddhi Applications¶
Siddhi can run in multiple environments as follows.
- As a Java Library
- As a Local Microservice
- As a Docker Microservice
- As a Kubernetes Microservice
- As a Python Library
Refer the Siddhi Config Guide for information on advance Siddhi execution configurations.
For all Siddhi execution modes following are the general system requirements.
- Memory - 128 MB (minimum), 500 MB (recommended), higher memory might be needed based on in-memory data stored for processing
- Cores - 2 cores (recommended), use lower number of cores after testing Siddhi Apps for performance
- JDK - 8 or 11
- To build Siddhi from the Source distribution, it is necessary that you have JDK version 8 or 11 and Maven 3.0.4 or later